using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Caliburn.Micro.Core; namespace OpenSEMI.ClientBase { public class ModuleInfo : PropertyChangedBase { private string _moduleID; public string ModuleID { get { return _moduleID; } set { _moduleID = value; NotifyOfPropertyChange("ModuleID"); } } private bool _IsInstalled; public bool IsInstalled { get { return _IsInstalled; } set { _IsInstalled = value; NotifyOfPropertyChange("IsInstalled"); } } private string _status; public string Status { get { return _status; } set { _status = value; NotifyOfPropertyChange("Status"); } } private bool _IsOnline; public bool IsOnline { get { return _IsOnline; } set { _IsOnline = value; NotifyOfPropertyChange("IsOnline"); } } //for LoadPort usage private bool _isJobDone; public bool IsJobDone { get { return _isJobDone; } set { _isJobDone = value; NotifyOfPropertyChange("IsJobDone"); NotifyOfPropertyChange(nameof(UnitNameForeground)); NotifyOfPropertyChange(nameof(UnitFontWeight)); } } public string UnitNameForeground { get { return IsJobDone ? "Lime" : "Black"; } } public string UnitFontWeight { get { return IsJobDone ? "Bold" : "Normal"; } } private ModuleWaferManager _WaferManager; public ModuleWaferManager WaferManager { get { return _WaferManager; } set { _WaferManager = value; NotifyOfPropertyChange("WaferManager"); } } public void IsBusy() { } public ModuleInfo() { } public ModuleInfo(string modname, bool p_install, ModuleWaferManager p_modInfoWithWafer, bool p_online) { this._moduleID = modname; this._WaferManager = p_modInfoWithWafer; this._IsInstalled = p_install; this._IsOnline = p_online; } } }