Sic.Framework/MECF.Framework.UI.Client/TrayThickness/TrayCoatingThickness.cs

97 lines
2.7 KiB
C#
Raw Normal View History

2023-05-22 18:32:18 +08:00
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MECF.Framework.UI.Client.TrayThickness
{
public class TrayCoatingThickness : ICloneable
{
#region Constructors
public TrayCoatingThickness()
{
Tray = new CoatingData();
TrayInner = new CoatingData();
RingInner = new CoatingData();
RingOuter = new CoatingData();
}
public TrayCoatingThickness(string trayGuId, bool isPM)//把PM当成特殊的Tray来处理PM1+PM2为一个Tray数据源
{
TrayGuid = trayGuId;//PM的默认数据库ID为MP
Tray = new CoatingData("PM1小周期", trayGuId);
TrayInner = new CoatingData("PM1大周期", trayGuId);
RingInner = new CoatingData("PM2小周期", trayGuId);
RingOuter = new CoatingData("PM2大周期", trayGuId);
}
public TrayCoatingThickness(string trayGuId)
{
TrayGuid = trayGuId;//Tary的默认数据库ID为自身编号1~8
Tray = new CoatingData($"石墨托盘", trayGuId);
TrayInner = new CoatingData($"内部托架", trayGuId);
RingInner = new CoatingData($"中间托架", trayGuId);
RingOuter = new CoatingData($"外部托架", trayGuId);
}
//public TrayCoatingThickness(int slot) : this(slot.ToString())
//{
//}
#endregion
#region Properties
public string TrayGuid { get; set; }
/// <summary>
/// Tray厚度对象
/// </summary>
public CoatingData Tray { get; set; }
/// <summary>
/// Tray内环厚度对象
/// </summary>
public CoatingData TrayInner { get; set; }
/// <summary>
/// Ring内环厚度对象
/// </summary>
public CoatingData RingInner { get; set; }
/// <summary>
/// Ring外环厚度对象
/// </summary>
public CoatingData RingOuter { get; set; }
#endregion
#region Methods
public void Update(TrayCoatingThickness newData)
{
Tray.Update(newData.Tray);
TrayInner.Update(newData.TrayInner);
RingInner.Update(newData.RingInner);
RingOuter.Update(newData.RingOuter);
}
public object Clone()
{
var newObj = new TrayCoatingThickness(TrayGuid);
newObj.Tray = (CoatingData)Tray.Clone();
newObj.TrayInner = (CoatingData)TrayInner.Clone();
newObj.RingInner = (CoatingData)RingInner.Clone();
newObj.RingOuter = (CoatingData)RingOuter.Clone();
return newObj;
}
#endregion
}
}