using System.Windows; using System.Windows.Controls; using Aitex.Core.Util; using Aitex.Sorter.Common; using Aitex.Sorter.UI.ViewModel; using EfemUI.Controls; namespace EfemUI.Views { public partial class E84View2LP : UserControl { public E84ViewModel _e84ViewModel; public E84View2LP() { InitializeComponent(); _e84ViewModel = new E84ViewModel(); DataContext = _e84ViewModel; IsVisibleChanged += E84View_IsVisibleChanged; } private void E84View_IsVisibleChanged(object sender, DependencyPropertyChangedEventArgs e) { (DataContext as E84ViewModel)?.EnableTimer(IsVisible); } } public class E84ViewModel2LP : UIViewModelBase { public E84ViewModel2LP() : base("E84ViewModel") { E84InfoDataLp1 = new E84InfoData(); E84InfoDataLp2 = new E84InfoData(); } public E84InfoData E84InfoDataLp1 { get; set; } public E84InfoData E84InfoDataLp2 { get; set; } [Subscription("IsPresent", "LP1")] public bool PodPresentLp1 { get => E84InfoDataLp1.PodPresent; set => E84InfoDataLp1.PodPresent = value; } [Subscription(ParamName.IsPresent, "LP2")] public bool PodPresentLp2 { get => E84InfoDataLp2.PodPresent; set => E84InfoDataLp2.PodPresent = value; } [Subscription(ParamName.IsPlaced, "LP1")] public bool PodPlacedLp1 { get => E84InfoDataLp1.PodPlaced; set => E84InfoDataLp1.PodPlaced = value; } [Subscription(ParamName.IsPlaced, "LP2")] public bool PodPlacedLp2 { get => E84InfoDataLp2.PodPlaced; set => E84InfoDataLp2.PodPlaced = value; } [Subscription(ParamName.IsClamped, "LP1")] public bool PodLatchedLp1 { get => E84InfoDataLp1.PodLatched; set => E84InfoDataLp1.PodLatched = value; } [Subscription(ParamName.IsClamped, "LP2")] public bool PodLatchedLp2 { get => E84InfoDataLp2.PodLatched; set => E84InfoDataLp2.PodLatched = value; } [Subscription(ParamName.IsDocked, "LP1")] public bool PodDockedLp1 { get => E84InfoDataLp1.PodDocked; set => E84InfoDataLp1.PodDocked = value; } [Subscription(ParamName.IsDocked, "LP2")] public bool PodDockedLp2 { get => E84InfoDataLp2.PodDocked; set => E84InfoDataLp2.PodDocked = value; } [Subscription(ParamName.LoadportState, "LP1")] public string LoadPortStateLp1 { get => E84InfoDataLp1.LoadPortState; set => E84InfoDataLp1.LoadPortState = value; } [Subscription(ParamName.LoadportState, "LP2")] public string LoadPortStateLp2 { get => E84InfoDataLp2.LoadPortState; set => E84InfoDataLp2.LoadPortState = value; } [Subscription("TransferState", "LP1")] public string PortStateLp1 { get => E84InfoDataLp1.PortState; set => E84InfoDataLp1.PortState = value; } [Subscription("TransferState", "LP2")] public string PortStateLp2 { get => E84InfoDataLp2.PortState; set => E84InfoDataLp2.PortState = value; } [Subscription(ParamName.CarrierId, DeviceName.LP1)] public string CarrierIdLp1 { get => E84InfoDataLp1.CarrierID; set => E84InfoDataLp1.CarrierID = value; } [Subscription(ParamName.CarrierId, DeviceName.LP2)] public string CarrierIdLp2 { get => E84InfoDataLp2.CarrierID; set => E84InfoDataLp2.CarrierID = value; } [Subscription(ParamName.SlotMap, DeviceName.LP1)] public string SlotMapLp1 { get => E84InfoDataLp1.SlotMap; set => E84InfoDataLp1.SlotMap = value; } [Subscription(ParamName.SlotMap, DeviceName.LP2)] public string SlotMapLp2 { get => E84InfoDataLp2.SlotMap; set => E84InfoDataLp2.SlotMap = value; } [Subscription("Valid", DeviceName.LP1)] public bool ValidLp1 { get => E84InfoDataLp1.Valid; set => E84InfoDataLp1.Valid = value; } [Subscription("Valid", DeviceName.LP2)] public bool ValidLp2 { get => E84InfoDataLp2.Valid; set => E84InfoDataLp2.Valid = value; } [Subscription("TransferRequest", DeviceName.LP1)] public bool TransferRequestLp1 { get => E84InfoDataLp1.TransferRequest; set => E84InfoDataLp1.TransferRequest = value; } [Subscription("TransferRequest", DeviceName.LP2)] public bool TransferRequestLp2 { get => E84InfoDataLp2.TransferRequest; set => E84InfoDataLp2.TransferRequest = value; } [Subscription("Busy", DeviceName.LP1)] public bool BusyLp1 { get => E84InfoDataLp1.Busy; set => E84InfoDataLp1.Busy = value; } [Subscription("Busy", DeviceName.LP2)] public bool BusyLp2 { get => E84InfoDataLp2.Busy; set => E84InfoDataLp2.Busy = value; } [Subscription("TransferComplete", DeviceName.LP1)] public bool TransferCompleteLp1 { get => E84InfoDataLp1.TransferComplete; set => E84InfoDataLp1.TransferComplete = value; } [Subscription("TransferComplete", DeviceName.LP2)] public bool TransferCompleteLp2 { get => E84InfoDataLp2.TransferComplete; set => E84InfoDataLp2.TransferComplete = value; } [Subscription("CS0", DeviceName.LP1)] public bool CS0Lp1 { get => E84InfoDataLp1.CS0; set => E84InfoDataLp1.CS0 = value; } [Subscription("CS0", DeviceName.LP2)] public bool CS0Lp2 { get => E84InfoDataLp2.CS0; set => E84InfoDataLp2.CS0 = value; } [Subscription("CS1", DeviceName.LP1)] public bool CS1Lp1 { get => E84InfoDataLp1.CS1; set => E84InfoDataLp1.CS1 = value; } [Subscription("CS1", DeviceName.LP2)] public bool CS1Lp2 { get => E84InfoDataLp2.CS1; set => E84InfoDataLp2.CS1 = value; } [Subscription("CONT", DeviceName.LP1)] public bool ContinuousTransferLp1 { get => E84InfoDataLp1.ContinuousTransfer; set => E84InfoDataLp1.ContinuousTransfer = value; } [Subscription("CONT", DeviceName.LP2)] public bool ContinuousTransferLp2 { get => E84InfoDataLp2.ContinuousTransfer; set => E84InfoDataLp2.ContinuousTransfer = value; } [Subscription("LoadRequest", DeviceName.LP1)] public bool LoadRequestLp1 { get => E84InfoDataLp1.LoadRequest; set => E84InfoDataLp1.LoadRequest = value; } [Subscription("LoadRequest", DeviceName.LP2)] public bool LoadRequestLp2 { get => E84InfoDataLp2.LoadRequest; set => E84InfoDataLp2.LoadRequest = value; } [Subscription("UnloadRequest", DeviceName.LP1)] public bool UnloadRequestLp1 { get => E84InfoDataLp1.UnloadRequest; set => E84InfoDataLp1.UnloadRequest = value; } [Subscription("UnloadRequest", DeviceName.LP2)] public bool UnloadRequestLp2 { get => E84InfoDataLp2.UnloadRequest; set => E84InfoDataLp2.UnloadRequest = value; } [Subscription("ReadyToTransfer", DeviceName.LP1)] public bool ReadyToTransferLp1 { get => E84InfoDataLp1.ReadyToTransfer; set => E84InfoDataLp1.ReadyToTransfer = value; } [Subscription("ReadyToTransfer", DeviceName.LP2)] public bool ReadyToTransferLp2 { get => E84InfoDataLp2.ReadyToTransfer; set => E84InfoDataLp2.ReadyToTransfer = value; } [Subscription("HandoffAvailable", DeviceName.LP1)] public bool HandoffAvailableLp1 { get => E84InfoDataLp1.HandoffAvailable; set => E84InfoDataLp1.HandoffAvailable = value; } [Subscription("HandoffAvailable", DeviceName.LP2)] public bool HandoffAvailableLp2 { get => E84InfoDataLp2.HandoffAvailable; set => E84InfoDataLp2.HandoffAvailable = value; } [Subscription("ES", DeviceName.LP1)] public bool EmergencyOkLp1 { get => E84InfoDataLp1.EmergencyOk; set => E84InfoDataLp1.EmergencyOk = value; } [Subscription("ES", DeviceName.LP2)] public bool EmergencyOkLp2 { get => E84InfoDataLp2.EmergencyOk; set => E84InfoDataLp2.EmergencyOk = value; } [Subscription("E84State", "LP1")] public string E84StateLp1 { get => E84InfoDataLp1.E84State; set => E84InfoDataLp1.E84State = value; } [Subscription("E84State", "LP2")] public string E84StateLp2 { get => E84InfoDataLp2.E84State; set => E84InfoDataLp2.E84State = value; } } }