using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; namespace MECF.Framework.UI.Client.TrayThickness { public class CoatingData : ICloneable { /// /// 存储Tray的ID /// public string GUID { get; set; } = "0"; /// /// 界面上标签显示 /// public string Caption { get; set; } /// /// Tray环名称 /// public string SerialNumber { get; set; } /// /// 设置或返回当前托盘组件所属的PM腔名称。 /// public string PmOwned { get; set; } /// /// 厚度最大值 /// public string MAX { get; set; } /// /// 当前厚度 /// public string Current { get; set; } /// /// 创建时间 /// public string CreatTime { get; set; } public string Index { get; set; } = "0"; public CoatingData() { CreatTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); } public CoatingData(string caption, string uid) : this() { Caption = caption; GUID = uid; } public bool Validate(out string reason) { reason = string.Empty; if (string.IsNullOrEmpty(SerialNumber)) reason = "Serial SerialNumber can not be empty"; if(string.IsNullOrEmpty(PmOwned)) reason = "PM name can not be empty"; // reformat reason if (!string.IsNullOrEmpty(reason)) reason = $"{Caption} {reason}"; return string.IsNullOrEmpty(reason); } public object Clone() { return new CoatingData() { SerialNumber = SerialNumber, PmOwned = PmOwned, MAX = MAX, Current = Current }; } public void Update(CoatingData newData) { SerialNumber = newData.SerialNumber; PmOwned = newData.PmOwned; MAX = newData.MAX; Current = newData.Current; } } }