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

98 lines
2.7 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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