using MECF.Framework.Common.OperationCenter; using Prism.Commands; using Prism.Mvvm; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Venus_MainPages.ViewModels { internal class GasLeakCheckViewModel : BindableBase { #region 私有字段 private List m_LeakCheckMode; private int m_LeakCheckModeSelectedIndex; private int m_VentTime; private int m_CheckTime; private int m_LeakRateUpperLimit; private bool[] m_GasIsCheck=new bool[8]; private string ModuleName="PMA"; #endregion #region 属性 public List LeakCheckMode { get { return m_LeakCheckMode; } set { SetProperty(ref m_LeakCheckMode, value); } } public int LeakCheckModeSelectedIndex { get { return m_LeakCheckModeSelectedIndex; } set { SetProperty(ref m_LeakCheckModeSelectedIndex, value); } } public int VentTime { get { return m_VentTime; } set { SetProperty(ref m_VentTime, value); } } public int CheckTime { get { return m_CheckTime; } set { SetProperty(ref m_CheckTime, value); } } public int LeakRateUpperLimit { get { return m_LeakRateUpperLimit; } set { SetProperty(ref m_LeakRateUpperLimit, value); } } public bool[] GasIsCheck { get { return m_GasIsCheck; } set { SetProperty(ref m_GasIsCheck, value); } } #endregion #region 命令 private DelegateCommand _CheckCommand; public DelegateCommand CheckCommand => _CheckCommand ?? (_CheckCommand = new DelegateCommand(OnCheck)); #endregion #region 构造函数 public GasLeakCheckViewModel() { m_LeakCheckMode = new List() { "ChamberOnly", "ChamberAndGasLine", "ChamberAndGasLineAndFAC" }; m_LeakCheckModeSelectedIndex = 0; m_VentTime = 120; m_CheckTime = 180; m_LeakRateUpperLimit = 10; } #endregion #region 命令方法 private void OnCheck() { //InvokeClient.Instance.Service.DoOperation("System.SetConfig", $"{ModuleName}.Pump.LeakCheckPumpingTime", VentTime.ToString()); //InvokeClient.Instance.Service.DoOperation("System.SetConfig", $"{ModuleName}.Pump.LeakCheckWaitTime", CheckTime.ToString()); //InvokeClient.Instance.Service.DoOperation("System.SetConfig", $"{ModuleName}.Pump.LeakRate", LeakRateUpperLimit.ToString()); InvokeClient.Instance.Service.DoOperation($"{ModuleName}.LeakCheck", new[] { VentTime.ToString(), CheckTime.ToString(), LeakCheckMode[LeakCheckModeSelectedIndex], LeakRateUpperLimit.ToString(), GasIsCheck[0].ToString(), GasIsCheck[1].ToString(), GasIsCheck[2].ToString(), GasIsCheck[3].ToString(), GasIsCheck[4].ToString(), GasIsCheck[5].ToString(), GasIsCheck[6].ToString(), GasIsCheck[7].ToString(), }); } #endregion } }