Sic.Framework/MECF.Framework.UI.Core/TrayCoating/TrayCoatingThickness.cs

98 lines
2.7 KiB
C#
Raw Normal View History

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
}
}