using System.Collections.Generic; using Aitex.Core.Util; using Aitex.Sorter.UI.Controls; using Aitex.Sorter.UI.ViewModel; using MECF.Framework.Common.CommonData; namespace EfemUI.Views.Maintenance { public class LoadPortData : NotifiableItem { public string DeviceName { get; set; } public bool IsNotPresent3 { get; set; } public bool IsNotPresent4 { get; set; } public bool IsNotPresent6 { get; set; } public bool IsNotProtrude { get; set; } public string CassetteState { get; set; } public string WaferSize { get; set; } } public class LoadPortViewModel : UIViewModelBase { public bool EnablePageControl { get { return !IsOnlineMode; } } [Subscription("System.IsOnlineMode")] public bool IsOnlineMode { get; set; } [Subscription("LP1.IsNotPresent3")] public bool LP1IsNotPresent3 { get; set; } [Subscription("LP1.IsNotPresent4")] public bool LP1IsNotPresent4 { get; set; } [Subscription("LP1.IsNotPresent6")] public bool LP1IsNotPresent6 { get; set; } [Subscription("LP1.IsWaferNotProtrude")] public bool LP1NotProtrude { get; set; } [Subscription("LP1.WaferSize")] public string LP1WaferSize { get; set; } [Subscription("LP1.CassetteState")] public string LP1CassetteState { get; set; } [Subscription("LP2.IsNotPresent3")] public bool LP2IsNotPresent3 { get; set; } [Subscription("LP2.IsNotPresent4")] public bool LP2IsNotPresent4 { get; set; } [Subscription("LP2.IsNotPresent6")] public bool LP2IsNotPresent6 { get; set; } [Subscription("LP2.IsWaferNotProtrude")] public bool LP2NotProtrude { get; set; } [Subscription("LP2.WaferSize")] public string LP2WaferSize { get; set; } [Subscription("LP2.CassetteState")] public string LP2CassetteState { get; set; } public LoadPortData LP1Data { get; set; } public LoadPortData LP2Data { get; set; } public LoadPortViewModel() : base("LoadPort" ) { LP1Data = new LoadPortData() {DeviceName = "LP1"}; LP2Data = new LoadPortData() { DeviceName = "LP2" }; } protected override void InvokeAfterUpdateProperty(Dictionary data) { base.InvokeAfterUpdateProperty(data); LP1Data.IsNotPresent3 = LP1IsNotPresent3; LP1Data.IsNotPresent4 = LP1IsNotPresent4; LP1Data.IsNotPresent6 = LP1IsNotPresent6; LP1Data.IsNotProtrude = LP1NotProtrude; LP1Data.CassetteState = LP1CassetteState; LP1Data.WaferSize = LP1WaferSize; LP2Data.IsNotPresent3 = LP2IsNotPresent3; LP2Data.IsNotPresent4 = LP2IsNotPresent4; LP2Data.IsNotPresent6 = LP2IsNotPresent6; LP2Data.IsNotProtrude = LP2NotProtrude; LP2Data.CassetteState = LP2CassetteState; LP2Data.WaferSize = LP2WaferSize; LP1Data.InvokePropertyChanged(); LP2Data.InvokePropertyChanged(); } } }