using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; using MECF.Framework.UI.Client.ClientBase; namespace FurnaceUI.Models { public class FurnaceModuleUIViewModelBase : ModuleUiViewModelBase { public ModuleInfo FOUPA { get; set; } public ModuleInfo FOUPB { get; set; } public ModuleInfo FOUPC { get; set; } public ModuleInfo FOUPD { get; set; } public ModuleInfo Buffer { get; set; } public ModuleInfo PM1 { get; set; } #region Wafer info for machine public WaferInfo BufferWafer { get { if (ModuleManager.ModuleInfos["Buffer"].WaferManager.Wafers.Count > 0) return ModuleManager.ModuleInfos["Buffer"].WaferManager.Wafers[0]; return null; } } public WaferInfo PM1Wafer { get { if (ModuleManager.ModuleInfos["PM1"].WaferManager.Wafers.Count > 0) return ModuleManager.ModuleInfos["PM1"].WaferManager.Wafers[0]; return null; } } public WaferInfo EfemRobotWafer1 { get { if (ModuleManager.ModuleInfos["EfemRobot"].WaferManager.Wafers.Count > 0) return ModuleManager.ModuleInfos["EfemRobot"].WaferManager.Wafers[0]; return null; } } public WaferInfo EfemRobotWafer2 { get { if (ModuleManager.ModuleInfos["EfemRobot"].WaferManager.Wafers.Count > 1) return ModuleManager.ModuleInfos["EfemRobot"].WaferManager.Wafers[1]; return null; } } #endregion protected void InitFOUP() { FOUPA = ModuleManager.ModuleInfos["LP1"]; FOUPB = ModuleManager.ModuleInfos["LP2"]; //FOUPC = ModuleManager.ModuleInfos["LP3"]; } protected void InitBuffer() { Buffer = ModuleManager.ModuleInfos["Buffer"]; } protected void InitPM() { PM1 = ModuleManager.ModuleInfos["PM1"]; } } public class FurnaceUIViewModelBase : UiViewModelBase { private string _leveldisplay; public string LevelDisplay { get { switch (BaseApp.Instance.UserContext.RoleName) { case "Manager": case "Engineer": _leveldisplay = "LEVEL3"; break; case "Technician": _leveldisplay = "LEVEL2"; break; case "Operator": _leveldisplay = "LEVEL1"; break; default: _leveldisplay = "LEVEL1"; break; } return _leveldisplay; } } public string SystemName { get; set; } private string _bATCHTitle = "LOAD A BATCH P"; public string BATCHTitle { get => _bATCHTitle; set { _bATCHTitle = value; NotifyOfPropertyChange("BATCHTitle"); } } public ModuleInfo FOUPA { get; set; } public ModuleInfo FOUPB { get; set; } public ModuleInfo FOUPC { get; set; } public ModuleInfo FOUPD { get; set; } //public ModuleInfo EFEM { get; set; } public ModuleInfo PM1 { get; set; } #region Wafer info for machine public WaferInfo PM1Wafer { get { if (ModuleManager.ModuleInfos["PM1"].WaferManager.Wafers.Count > 0) return ModuleManager.ModuleInfos["PM1"].WaferManager.Wafers[0]; return null; } } public WaferInfo WaferRobotWafer1 { get { if (ModuleManager.ModuleInfos["WaferRobot"].WaferManager.Wafers.Count > 0) return ModuleManager.ModuleInfos["WaferRobot"].WaferManager.Wafers[0]; return null; } } public WaferInfo WaferRobotWafer2 { get { if (ModuleManager.ModuleInfos["WaferRobot"].WaferManager.Wafers.Count > 1) return ModuleManager.ModuleInfos["WaferRobot"].WaferManager.Wafers[1]; return null; } } public WaferInfo WaferRobotWafer3 { get { if (ModuleManager.ModuleInfos["WaferRobot"].WaferManager.Wafers.Count > 2) return ModuleManager.ModuleInfos["WaferRobot"].WaferManager.Wafers[2]; return null; } } public WaferInfo WaferRobotWafer4 { get { if (ModuleManager.ModuleInfos["WaferRobot"].WaferManager.Wafers.Count > 3) return ModuleManager.ModuleInfos["WaferRobot"].WaferManager.Wafers[3]; return null; } } public WaferInfo WaferRobotWafer5 { get { if (ModuleManager.ModuleInfos["WaferRobot"].WaferManager.Wafers.Count > 4) return ModuleManager.ModuleInfos["WaferRobot"].WaferManager.Wafers[4]; return null; } } #endregion protected void InitTM() { } protected void InitLL() { } protected void InitEFEM() { //EFEM = ModuleManager.ModuleInfos["EfemRobot"]; } protected void InitFOUP() { //FOUPA = ModuleManager.ModuleInfos["LP1"]; //FOUPB = ModuleManager.ModuleInfos["LP2"]; //FOUPC = ModuleManager.ModuleInfos["LP3"]; //FOUPD = ModuleManager.ModuleInfos["LP4"]; } protected void InitBuffer() { //Buffer1 = ModuleManager.ModuleInfos["Buffer1"]; //Buffer2 = ModuleManager.ModuleInfos["Buffer2"]; //Robot1Wafer = ModuleManager.ModuleInfos["Robot1"]; //Robot2Wafer = ModuleManager.ModuleInfos["Robot2"]; } protected void InitPM() { } } }