| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 | using Caliburn.Micro;using Caliburn.Micro.Core;using Aitex.Core.Common.DeviceData;using Aitex.Core.UI.ControlDataContext;using Aitex.Core.Util;using MECF.Framework.Common.DataCenter;using MECF.Framework.Common.OperationCenter;using FurnaceUI.Models;using FurnaceUI.Views.Editors;using System.Collections.ObjectModel;using System.Collections.Generic;using System.Threading.Tasks;using System.Reflection;using System;using Aitex.Core.RT.Log;using System.Linq;using System.Windows;using System.Windows.Controls;namespace FurnaceUI.Views.Maintenances{    public class APCConfigViewModel : FurnaceUIViewModelBase    {        public bool IsManagerPermission { get => this.Permission == 3; }        [Subscription("PM1.APC.ValveStatusThreshold")]        public float ValveStatusThreshold { get; set; }        [Subscription("PM1.APC.SlowVacuumModeSetting")]        public float SlowVacuumModeSetting { get; set; }        [Subscription("PM1.APC.Interlock1")]        public float Interlock1 { get; set; }        [Subscription("PM1.APC.Interlock2")]        public float Interlock2 { get; set; }        [Subscription("PM1.APC.Interlock3")]        public float Interlock3 { get; set; }        [Subscription("PM1.APC.InterlockConstantOfInterlock3")]        public float InterlockConstantOfInterlock3 { get; set; }        [Subscription("PM1.APC.P1SensorOffsetSetting")]        public float P1SensorOffsetSetting { get; set; }        [Subscription("PM1.APC.PosMonOffsetSetting")]        public float PosMonOffsetSetting { get; set; }        public float ValveStausThresholdSet { get; set; }        public float SlowVacuumModeSettingSet { get; set; }        public float Interlock1Set { get; set; }        public float Interlock2Set { get; set; }        public float Interlock3Set { get; set; }        public float InterlockConstantOfInterlock3Set { get; set; }        public float P1SensorOffsetSettingSet { get; set; }        public float PosMonOffsetSettingSet { get; set; }        public APCConfigViewModel()        {        }        protected override void OnActivate()        {            ValveStausThresholdSet = (float)(double)QueryDataClient.Instance.Service.GetConfig($"PM1.APC.ValveStatusThreshold");            SlowVacuumModeSettingSet = (float)(double)QueryDataClient.Instance.Service.GetConfig($"PM1.APC.SlowVacuumModeSetting");            Interlock1Set = (float)(double)QueryDataClient.Instance.Service.GetConfig($"PM1.APC.Interlock1");            Interlock2Set = (float)(double)QueryDataClient.Instance.Service.GetConfig($"PM1.APC.Interlock2");            Interlock3Set = (float)(double)QueryDataClient.Instance.Service.GetConfig($"PM1.APC.Interlock3");            InterlockConstantOfInterlock3Set = (float)(double)QueryDataClient.Instance.Service.GetConfig($"PM1.APC.InterlockConstantOfInterlock3");            P1SensorOffsetSettingSet = (float)(double)QueryDataClient.Instance.Service.GetConfig($"PM1.APC.P1SensorOffsetSetting");            PosMonOffsetSettingSet = (float)(double)QueryDataClient.Instance.Service.GetConfig($"PM1.APC.PosMonOffsetSetting");            base.OnActivate();        }        public void SetAlarmReset(object target)        {            InvokeClient.Instance.Service.DoOperation($"{target?.ToString().Split('.').ToList().LastOrDefault()}.Reset");        }        public void SetConfig(object tbValveStausThreshold,             object tbSlowVacuumModeSetting,             object tbInterlock1,             object tbInterlock2,             object tbInterlock3,             object tbInterlockConstantOfInterlock3,             object tbP1SensorOffsetSetting,             object tbPosMonOffsetSetting)        {            InvokeClient.Instance.Service.DoOperation($"PM1.APC.SetConfig",                (tbValveStausThreshold as TextBox)?.Text,                (tbSlowVacuumModeSetting as TextBox)?.Text,                (tbInterlock1 as TextBox)?.Text,                (tbInterlock2 as TextBox)?.Text,                (tbInterlock3 as TextBox)?.Text,                (tbInterlockConstantOfInterlock3 as TextBox)?.Text,                (tbP1SensorOffsetSetting as TextBox)?.Text,                (tbPosMonOffsetSetting as TextBox)?.Text);        }        public void SetUpload()        {            InvokeClient.Instance.Service.DoOperation($"PM1.APC.SetUpload");        }        public void SetDownload(object tbValveStausThreshold,            object tbSlowVacuumModeSetting,            object tbInterlock1,            object tbInterlock2,            object tbInterlock3,            object tbInterlockConstantOfInterlock3,            object tbP1SensorOffsetSetting,            object tbPosMonOffsetSetting)        {            InvokeClient.Instance.Service.DoOperation($"PM1.APC.SetDownload",                (tbValveStausThreshold as TextBox)?.Text,                (tbSlowVacuumModeSetting as TextBox)?.Text,                (tbInterlock1 as TextBox)?.Text,                (tbInterlock2 as TextBox)?.Text,                (tbInterlock3 as TextBox)?.Text,                (tbInterlockConstantOfInterlock3 as TextBox)?.Text,                (tbP1SensorOffsetSetting as TextBox)?.Text,                (tbPosMonOffsetSetting as TextBox)?.Text);        }        public void CloseCmd()        {            ((Window)GetView()).Close();        }    }}
 |