using Caliburn.Micro.Core; using RecipeEditorLib.RecipeModel.Params; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MECF.Framework.UI.Client.CenterViews.Parameter { public class LeakCheckConditionTable : ParameterTable { private string _pressSensor; public string PressSensor { get => _pressSensor; set { _pressSensor = value; NotifyOfPropertyChange(nameof(PressSensor)); } } private DoubleParam _pHHighLimit; public DoubleParam PHHighLimit { get => _pHHighLimit; set { _pHHighLimit = value; NotifyOfPropertyChange(nameof(PHHighLimit)); } } private DoubleParam _pLLowLimit; public DoubleParam PLLowLimit { get => _pLLowLimit; set { _pLLowLimit = value; NotifyOfPropertyChange(nameof(PLLowLimit)); } } private DoubleParam _bPLimit; public DoubleParam BPLimit { get => _bPLimit; set { _bPLimit = value; NotifyOfPropertyChange(nameof(BPLimit)); } } private string _delayTime; public string DelayTime { get => _delayTime; set { _delayTime = value; NotifyOfPropertyChange(nameof(DelayTime)); } } private string _checkTime; public string CheckTime { get => _checkTime; set { _checkTime = value; NotifyOfPropertyChange(nameof(CheckTime)); } } private DoubleParam _leakLimit; public DoubleParam LeakLimit { get => _leakLimit; set { _leakLimit = value; NotifyOfPropertyChange(nameof(LeakLimit)); } } private NumParam _retryLimit; public NumParam RetryLimit { get => _retryLimit; set { _retryLimit = value; NotifyOfPropertyChange(nameof(RetryLimit)); } } private string _hightLimitCommand; public string HightLimitCommand { get => _hightLimitCommand; set { _hightLimitCommand = value; NotifyOfPropertyChange(nameof(HightLimitCommand)); } } private string _lowLimitCommand; public string LowLimitCommand { get => _lowLimitCommand; set { _lowLimitCommand = value; NotifyOfPropertyChange(nameof(LowLimitCommand)); } } private string _basePressureLimitCommand; public string BasePressureLimitCommand { get => _basePressureLimitCommand; set { _basePressureLimitCommand = value; NotifyOfPropertyChange(nameof(BasePressureLimitCommand)); } } private string _errorCommand; public string ErrorCommand { get => _errorCommand; set { _errorCommand = value; NotifyOfPropertyChange(nameof(ErrorCommand)); } } private string _retryOverCommand; public string RetryOverCommand { get => _retryOverCommand; set { _retryOverCommand = value; NotifyOfPropertyChange(nameof(RetryOverCommand)); } } public LeakCheckConditionTable() : base() { } public LeakCheckConditionTable(ParameterDataBase recipeData) { if (recipeData.Steps.Count <= 0) return; SetCurrentRecipeStep(recipeData, recipeData.Steps[0]); } public LeakCheckConditionTable(ParameterDataBase recipeData, int selectedStepNo) { ParameterTable step = recipeData.Steps.Where(x => x.StepNo == selectedStepNo).FirstOrDefault(); SetCurrentRecipeStep(recipeData, step); } public void SetTempPIDData(string value) { if (string.IsNullOrEmpty(value)) return; string[] strTempPID = value.Split('|'); foreach (var item in strTempPID) { if (string.IsNullOrEmpty(item)) continue; string[] subTempPID = item.Split(';'); Dictionary dictTempPID = new Dictionary(); foreach (var pid in subTempPID) { if (string.IsNullOrEmpty(item)) continue; var keyValue = pid.Split(':'); if (keyValue == null || keyValue.Length != 2) continue; dictTempPID[keyValue[0]] = keyValue[1]; } } } } }