98 lines
2.7 KiB
C#
98 lines
2.7 KiB
C#
using MECF.Framework.Common.CommonData;
|
||
using System;
|
||
|
||
|
||
namespace MECF.Framework.UI.Core.TrayCoating
|
||
{
|
||
[Serializable]
|
||
public class TrayCoatingThickness : ICloneable
|
||
{
|
||
|
||
#region Constructors
|
||
|
||
public TrayCoatingThickness()
|
||
{
|
||
Tray = new CoatingData();
|
||
TrayInner = new CoatingData();
|
||
RingInner = new CoatingData();
|
||
RingOuter = new CoatingData();
|
||
}
|
||
public TrayCoatingThickness(bool isPM)//把PM当成特殊的Tray来处理,PM1+PM2为一个Tray数据源
|
||
{
|
||
TrayID = "PM";//PM的默认数据库ID为MP
|
||
Tray = new CoatingData("PM1 Minor Cycle","PM");
|
||
TrayInner = new CoatingData("PM1 Major cycle","PM");
|
||
RingInner = new CoatingData("PM2 Minor Cycle","PM");
|
||
RingOuter = new CoatingData("PM2 Major cycle", "PM");
|
||
}
|
||
|
||
public TrayCoatingThickness(string trayId)
|
||
{
|
||
TrayID= trayId;//Tary的默认数据库ID为自身编号1~8
|
||
Tray = new CoatingData($"Tray {trayId}", trayId);
|
||
TrayInner = new CoatingData($"Tray Inner{trayId}", trayId);
|
||
RingInner = new CoatingData($"Ring Inner{trayId}", trayId);
|
||
RingOuter = new CoatingData($"Ring Outer{trayId}", trayId);
|
||
|
||
}
|
||
|
||
//public TrayCoatingThickness(int slot) : this(slot.ToString())
|
||
//{
|
||
|
||
//}
|
||
|
||
#endregion
|
||
|
||
#region Properties
|
||
|
||
public string TrayID { 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(TrayID);
|
||
newObj.Tray = (CoatingData)Tray.Clone();
|
||
newObj.TrayInner = (CoatingData)TrayInner.Clone();
|
||
newObj.RingInner = (CoatingData)RingInner.Clone();
|
||
newObj.RingOuter = (CoatingData)RingOuter.Clone();
|
||
return newObj;
|
||
}
|
||
|
||
|
||
#endregion
|
||
|
||
}
|
||
|
||
|
||
}
|