using Aitex.Core.Util; using FurnaceUI.Models; using MECF.Framework.Common.DataCenter; using MECF.Framework.Common.OperationCenter; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace FurnaceUI.Views.Maintenances { public class FIMSRobotViewModel : FurnaceUIViewModelBase { public bool IsManagerPermission { get => this.Permission == 3; } #region stage sensors [Subscription("PM1.FIMS1.DockUndockStatus")] public string FIMS1DockUndockStatus { get; set; } [Subscription("PM1.FIMS1.SealReleaseStatus")] public string FIMS1SealReleaseStatus { get; set; } [Subscription("PM1.FIMS1.DoorOpenCloseStatus")] public string FIMS1DoorOpenCloseStatus { get; set; } [Subscription("PM1.FIMS1.LatchOnOffStatus")] public string FIMS1LatchOnOffStatus { get; set; } [Subscription("PM1.FIMS1.CollisionAvoidanceUpDownStatus")] public string FIMS1CollisionAvoidanceUpDownStatus { get; set; } [Subscription("PM1.FIMS1.N2PurgeValveOpenCloseStatus")] public string FIMS1N2PurgeValveOpenCloseStatus { get; set; } [Subscription("PM1.FIMS1.VaccumValveOpenCloseStatus")] public string FIMS1VaccumValveOpenCloseStatus { get; set; } [Subscription("PM1.FIMS2.DockUndockStatus")] public string FIMS2DockUndockStatus { get; set; } [Subscription("PM1.FIMS2.SealReleaseStatus")] public string FIMS2SealReleaseStatus { get; set; } [Subscription("PM1.FIMS2.DoorOpenCloseStatus")] public string FIMS2DoorOpenCloseStatus { get; set; } [Subscription("PM1.FIMS2.LatchOnOffStatus")] public string FIMS2LatchOnOffStatus { get; set; } [Subscription("PM1.FIMS2.CollisionAvoidanceUpDownStatus")] public string FIMS2CollisionAvoidanceUpDownStatus { get; set; } [Subscription("PM1.FIMS2.N2PurgeValveOpenCloseStatus")] public string FIMS2N2PurgeValveOpenCloseStatus { get; set; } [Subscription("PM1.FIMS2.VaccumValveOpenCloseStatus")] public string FIMS2VaccumValveOpenCloseStatus { get; set; } #endregion [Subscription("FIMS1.FIMSCycledCount")] public int FIMS1CycledCount { get; set; } [Subscription("FIMS2.FIMSCycledCount")] public int FIMS2CycledCount { get; set; } public string FIMS1CycleInfo => $"{FIMS1CycledCount} / {_fims1CycleCount}"; public string FIMS2CycleInfo => $"{FIMS2CycledCount} / {_fims2CycleCount}"; private int _fims1CycleCount; private int _fims2CycleCount; protected override void OnActivate() { base.OnActivate(); _fims1CycleCount = (int)QueryDataClient.Instance.Service.GetConfig("FIMS.FIMS1.CycleCount"); _fims2CycleCount = (int)QueryDataClient.Instance.Service.GetConfig("FIMS.FIMS2.CycleCount"); } public void SetDockUndock(object target, bool value) { InvokeClient.Instance.Service.DoOperation($"{target}.SetDockUndock", value); } public void SetSealRelease(object target, bool value) { InvokeClient.Instance.Service.DoOperation($"{target}.SetSealRelease", value); } public void SetDoorOpenClose(object target, bool value) { InvokeClient.Instance.Service.DoOperation($"{target}.SetDoorOpenClose", value); } public void SetLatchOnOff(object target, bool value) { InvokeClient.Instance.Service.DoOperation($"{target}.SetLatchOnOff", value); } public void SetCollisionAvoidanceUpDown(object target, bool value) { InvokeClient.Instance.Service.DoOperation($"{target}.SetCollisionAvoidanceUpDown", value); } public void SetN2PurgeValveOpenClose(object target, bool value) { InvokeClient.Instance.Service.DoOperation($"{target}.SetN2PurgeValveOpenClose", value); } public void SetVaccumValveOpen(object target, bool value) { InvokeClient.Instance.Service.DoOperation($"{target}.SetVaccumValveOpen", value); } public void SetFIMSCycle(object target) { InvokeClient.Instance.Service.DoOperation($"{target}.Cycle"); } public void SetFIMSAbort(object target) { InvokeClient.Instance.Service.DoOperation($"{target}.Abort"); } } }