using Caliburn.Micro.Core; using MECF.Framework.UI.Client.ClientBase; using OpenSEMI.ClientBase; namespace MECF.Framework.UI.Client.CenterViews.Operations.WaferAssociation { public class WaferAssociationInfo : PropertyChangedBase { private int _slotFrom = 1; public int SlotFrom { get { return _slotFrom; } set { _slotFrom = value; NotifyOfPropertyChange("SlotFrom"); } } private int _slotTo = 25; public int SlotTo { get { return _slotTo; } set { _slotTo = value; NotifyOfPropertyChange("SlotTo"); } } private string _sequenceName = string.Empty; public string SequenceName { get { return _sequenceName; } set { _sequenceName = value; NotifyOfPropertyChange("SequenceName"); } } private string _lotId = string.Empty; public string LotId { get { return _lotId; } set { _lotId = value; NotifyOfPropertyChange("LotId"); } } private bool _LotIdSaved = true; public bool LotIdSaved { get { return _LotIdSaved; } set { _LotIdSaved = value; NotifyOfPropertyChange("LotIdSaved"); } } private string _JobID = string.Empty; public string JobID { get { return _JobID; } set { _JobID = value; NotifyOfPropertyChange("JobID"); } } private ModuleInfo _ModuleData; public ModuleInfo ModuleData { get { return _ModuleData; } set { _ModuleData = value; NotifyOfPropertyChange("ModuleData"); } } private string _JobStatus = string.Empty; public string JobStatus { get { return _JobStatus; } set { _JobStatus = value; NotifyOfPropertyChange("JobStatus"); NotifyOfPropertyChange("IsEnableSelect"); NotifyOfPropertyChange("IsEnableCreate"); NotifyOfPropertyChange("IsEnableAbort"); NotifyOfPropertyChange("IsEnableStart"); NotifyOfPropertyChange("IsEnablePause"); NotifyOfPropertyChange("IsEnableResume"); NotifyOfPropertyChange("IsEnableStop"); } } public bool IsEnableSelect { //get { return !IsCreated; } get { return true; } } public bool IsEnableCreate { get { return true; } } public bool IsEnableAbort { get { return IsCreated; } } public bool IsEnableStart { get { return IsCreated /*&& IsWaitingForStart*/; } } public bool IsEnablePause { get { return IsExecuting; } } public bool IsEnableResume { get { return IsPaused; } } public bool IsEnableStop { get { return IsExecuting || IsPaused; } } private bool IsCreated { get { return !string.IsNullOrEmpty(JobStatus); } } private bool IsExecuting { get { return JobStatus== "Executing"; } } private bool IsWaitingForStart { get { return JobStatus == "WaitingForStart"; } } private bool IsPaused { get { return JobStatus == "Paused"; } } private bool IsCompleted { get { return JobStatus == "Completed"; } } //Queued,Selected,WaitingForStart,Executing,Paused,Completed, } }