using Aitex.Core.RT.SCCore; using Caliburn.Micro; using Caliburn.Micro.Core; using MECF.Framework.Common.DataCenter; using MECF.Framework.Common.OperationCenter; using MECF.Framework.Common.RecipeCenter; using MECF.Framework.UI.Client.CenterViews.Configs.SystemConfig; using MECF.Framework.UI.Client.CenterViews.Dialogs; using MECF.Framework.UI.Client.CenterViews.Editors.Recipe; using MECF.Framework.UI.Client.ClientBase; using OpenSEMI.ClientBase; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.IO; using System.Linq; using System.Text; using System.Windows; //using System.Windows.Forms; using System.Windows.Controls; using FurnaceUI.Client; using FurnaceUI.Models; using FurnaceUI.Views.Editors; using Aitex.Core.Util; using Aitex.Core.Common.DeviceData; using MECF.Framework.UI.Client.CenterViews.Parameter; using MECF.Framework.Common.ParameterCenter; using OpenSEMI.Ctrlib.Controls; namespace FurnaceUI.Views.Parameter { public class AlarmConditionReadOnlyViewModel : FurnaceUIViewModelBase { private UIElement _parent; public void SetParent(UIElement parent) { _parent = parent; } private readonly ParameterProvider _parameterProvider = new ParameterProvider(); private Dictionary> ParameterTemplate; public AlarmConditionParameterData CurrentParameter { get; set; } = new AlarmConditionParameterData(); private ParameterFormatBuilder _columnBuilder = new ParameterFormatBuilder(); private AlarmConditionTable _selectedParameterStep; public AlarmConditionTable SelectedParameterStep { get => _selectedParameterStep; set { if (value != null) { _selectedParameterStep = value; NotifyOfPropertyChange("SelectedParameterStep"); } else { _selectedParameterStep = null; NotifyOfPropertyChange("SelectedParameterStep"); } } } private int _IndexNoDefault = -1; public int IndexNoDefault { get { return _IndexNoDefault; } set { _IndexNoDefault = value; NotifyOfPropertyChange("IndexNoDefault"); } } private bool _appendStepItemIsEnabled; public bool AppendStepItemIsEnabled { get => _appendStepItemIsEnabled; set { _appendStepItemIsEnabled = value; NotifyOfPropertyChange("AppendStepItemIsEnabled"); } } private bool _overWriteCopyIsEnabled; public bool OverWriteCopyIsEnabled { get => _overWriteCopyIsEnabled; set { _overWriteCopyIsEnabled = value; NotifyOfPropertyChange("OverWriteCopyIsEnabled"); } } private bool _insertCopyIsEnabled; public bool InsertCopyIsEnabled { get => _insertCopyIsEnabled; set { _insertCopyIsEnabled = value; NotifyOfPropertyChange("InsertCopyIsEnabled"); } } private bool _prevStepOverwriteIsEnabled; public bool PrevStepOverwriteIsEnabled { get => _prevStepOverwriteIsEnabled; set { _prevStepOverwriteIsEnabled = value; NotifyOfPropertyChange("PrevStepOverwriteIsEnabled"); } } private bool _prevStepInsertIsEnabled; public bool PrevStepInsertIsEnabled { get => _prevStepInsertIsEnabled; set { _prevStepInsertIsEnabled = value; NotifyOfPropertyChange("PrevStepInsertIsEnabled"); } } private bool _prevStepItemIsEnabled; public bool PrevStepItemIsEnabled { get => _prevStepItemIsEnabled; set { _prevStepItemIsEnabled = value; NotifyOfPropertyChange("PrevStepItemIsEnabled"); } } private bool _currStepDeleteIsEnabled; public bool CurrStepDeleteIsEnabled { get => _currStepDeleteIsEnabled; set { _currStepDeleteIsEnabled = value; NotifyOfPropertyChange("CurrStepDeleteIsEnabled"); } } private bool _multStepsDeleteIsEnabled; public bool MultStepsDeleteIsEnabled { get => _multStepsDeleteIsEnabled; set { _multStepsDeleteIsEnabled = value; NotifyOfPropertyChange("MultStepsDeleteIsEnabled"); } } private bool _settingButtonEnable; public bool SettingButtonEnable { get => _settingButtonEnable; set { _settingButtonEnable = value; NotifyOfPropertyChange("SettingButtonEnable"); } } private string _eventSetting; public string EventSetting { get => _eventSetting; set { _eventSetting = value; NotifyOfPropertyChange("EventSetting"); } } public bool IsEnable => CGlobal.ParameterEditViewEnable;//是否是View模式 public string EditRecipeStepName { get; set; } public string ReturnString = "1:"; public string _selectTableString = ""; public void SetCmdIsEnabled() { if (CurrentParameter.Steps == null || CurrentParameter.Steps.Count == 0) { SelectedStepName = ""; SelectedParameterStep = null; AppendStepItemIsEnabled = true; OverWriteCopyIsEnabled = false; InsertCopyIsEnabled = false; PrevStepOverwriteIsEnabled = false; PrevStepInsertIsEnabled = false; PrevStepItemIsEnabled = false; CurrStepDeleteIsEnabled = false; MultStepsDeleteIsEnabled = false; SettingButtonEnable = false; } } public int SelectedStepNo { get; set; } private string _selectedStepName; public string SelectedStepName { get { return _selectedStepName; } set { _selectedStepName = value; NotifyOfPropertyChange("SelectedStepName"); } } private List _ConfigNodes = new List(); public List ConfigNodes { get { return _ConfigNodes; } set { _ConfigNodes = value; NotifyOfPropertyChange(nameof(ConfigNodes)); } } public string ParameterType { get; set; } private Visibility _tempVisibility = Visibility.Visible; public Visibility TempVisibility { get => _tempVisibility; set { _tempVisibility = value; NotifyOfPropertyChange(nameof(TempVisibility)); } } private Visibility _mFCVisibility = Visibility.Hidden; public Visibility MFCVisibility { get => _mFCVisibility; set { _mFCVisibility = value; NotifyOfPropertyChange(nameof(MFCVisibility)); } } private Visibility _pressVisibility = Visibility.Hidden; public Visibility PressVisibility { get => _pressVisibility; set { _pressVisibility = value; NotifyOfPropertyChange(nameof(PressVisibility)); } } private Visibility _aUXVisibility = Visibility.Hidden; public Visibility AUXVisibility { get => _aUXVisibility; set { _aUXVisibility = value; NotifyOfPropertyChange(nameof(AUXVisibility)); } } private Visibility _hWILKVisibility = Visibility.Hidden; public Visibility HWILKVisibility { get => _hWILKVisibility; set { _hWILKVisibility = value; NotifyOfPropertyChange(nameof(HWILKVisibility)); } } private Visibility _hardSoftVisibility = Visibility.Hidden; public Visibility HardSoftVisibility { get => _hardSoftVisibility; set { _hardSoftVisibility = value; NotifyOfPropertyChange(nameof(HardSoftVisibility)); } } private Visibility _contDownVisibility = Visibility.Hidden; public Visibility ContDownVisibility { get => _contDownVisibility; set { _contDownVisibility = value; NotifyOfPropertyChange(nameof(ContDownVisibility)); } } private Visibility _sensorVisibility = Visibility.Hidden; public Visibility SensorVisibility { get => _sensorVisibility; set { _sensorVisibility = value; NotifyOfPropertyChange(nameof(SensorVisibility)); } } private Visibility _otherVisibility = Visibility.Hidden; public Visibility OtherVisibility { get => _otherVisibility; set { _otherVisibility = value; NotifyOfPropertyChange(nameof(OtherVisibility)); } } private Visibility _tempMainHeaterVisibility = Visibility.Visible; public Visibility TempMainHeaterVisibility { get => _tempMainHeaterVisibility; set { _tempMainHeaterVisibility = value; NotifyOfPropertyChange(nameof(TempMainHeaterVisibility)); } } private Visibility _tempBoatVisibility = Visibility.Hidden; public Visibility TempBoatVisibility { get => _tempBoatVisibility; set { _tempBoatVisibility = value; NotifyOfPropertyChange(nameof(TempBoatVisibility)); } } public AlarmConditionReadOnlyViewModel(string path, string selectTable) { _selectTableString = selectTable; string prefix = $"Parameter\\AlarmCondition"; CurrentParameter.PrefixPath = prefix; CurrentParameter.Name = path; _parameterProvider.GetParameterFormatXml(prefix); ParameterTemplate = _parameterProvider.GetGroupParameterTemplate(); _columnBuilder.Build(prefix); //CurrentParameter.Permission = permission; } protected override void OnViewLoaded(object view) { base.OnViewLoaded(view); } protected override void OnActivate() { base.OnActivate(); //InvokeClient.Instance.Service.DoOperation($"PM1.SetSensorRecipeOK", ""); } protected override void OnDeactivate(bool close) { base.OnDeactivate(close); } protected override void OnInitialize() { base.OnInitialize(); // GetHeaderConfig(); LoadData(); LoadViewData(); SetCmdIsEnabled(); } private void LoadData() { var recipeContent = _parameterProvider.LoadParameter(CurrentParameter.PrefixPath, CurrentParameter.Name); if (string.IsNullOrEmpty(recipeContent)) { //System.Windows.MessageBox.Show($"{CurrentParameter.PrefixPath}\\{CurrentParameter.Name} is empty, please confirm the file is valid."); return; } CurrentParameter.TableNumber = _columnBuilder.TableNumber; CurrentParameter.ChamberType = _columnBuilder.ChamberType; CurrentParameter.InitData(CurrentParameter.PrefixPath, CurrentParameter.Name, recipeContent, ""); } private void LoadViewData() { if (CurrentParameter.Steps != null && CurrentParameter.Steps.Count > 0) { int indexNo = 0; if (!string.IsNullOrEmpty(_selectTableString)) { var table = _selectTableString.Split(':'); if (table.Length > 0) { int.TryParse(table[0], out indexNo); if (indexNo > 0) { indexNo = indexNo - 1; } } } SelectedStepName = CurrentParameter.Steps[indexNo].Name; SelectedStepNo = CurrentParameter.Steps[indexNo].StepNo; CurrentParameter.Steps[indexNo].IsChecked = true; SelectTable(CurrentParameter.Steps[indexNo]); } } private void RecipeGasPanelSettingViewModel_ChangedStepEvent(Step step) { SelectTable(step); IndexNoDefault = step.StepNo - 1; } public void SelectTable(object step) { Application.Current.Dispatcher.Invoke(() => { if (step != null && step is AlarmConditionTable step1) { var SelectedStep = this.CurrentParameter.Steps.Where(x => x.StepNo == step1.StepNo).FirstOrDefault(); SelectedStep.IsChecked = true; SelectedStepNo = step1.StepNo; string strName = step1.Name.Trim(); SelectedStepName = strName; SelectedParameterStep = (AlarmConditionTable)SelectedStep; } SetCmdIsEnabled(); }); } public void RdoCmdSelectTableChecked(object step) { if (step != null && step is AlarmConditionTable step1) { var alarmConditionView = ((AlarmConditionReadOnlyView)((Window)GetView()).Content); alarmConditionView.StepListView.SelectedItems.Clear(); alarmConditionView.StepListView.SelectedItems.Add(alarmConditionView.StepListView.Items[step1.StepNo - 1]); SelectTable(step); } } public void StepEdit(string stepEditCmd) { var windowManager = IoC.Get(); switch (stepEditCmd) { case "Append": CurrentParameter.Steps.Add(CurrentParameter.CreateStep()); int TempSelectIndex = 0; IndexNoDefault = TempSelectIndex; SelectTable(CurrentParameter.Steps[TempSelectIndex]); break; case "InsertCopy": InsertCopyStep(); break; case "OverWrite"://任何步骤的内容都可以覆盖到选定的步骤中 OverWriteStep(); break; case "PrevStepOverwrite"://用上一步的内容覆盖所选步骤 PrevStepOverwriteStep(); break; case "PrevStepInsert"://在选定步骤之前,插入带有前一步内容的新步骤。 InsertPrevStep(); break; case "PrevStepItem": break; case "MultStepsDelete": break; default: break; } } private void OverWriteStep() { var windowManager = IoC.Get(); if (CurrentParameter == null) return; } private void PrevStepOverwriteStep() { int index = -1; index = SelectedParameterStep.StepNo; if (index > 1) { CurrentParameter.CloneStep(CurrentParameter.Steps.Where(x => x.StepNo == SelectedParameterStep.StepNo).FirstOrDefault(), CurrentParameter.Steps.Where(x => x.StepNo == SelectedParameterStep.StepNo - 1).FirstOrDefault()); } } public void InsertPrevStep() { } public void InsertCopyStep() { var windowManager = IoC.Get(); if (CurrentParameter == null) return; } public void SetHardSoftIsCheck(object obj) { if (obj != null) if (obj is AlarmConditionValveILK) { var valveILK = (AlarmConditionValveILK)obj; valveILK.IsCheck = !valveILK.IsCheck; } else if (obj is AlarmConditionTempControler) { var tempControler = (AlarmConditionTempControler)obj; tempControler.IsCheck = !tempControler.IsCheck; } else if (obj is AlarmConditionAPCControler) { var aPCControler = (AlarmConditionAPCControler)obj; aPCControler.IsCheck = !aPCControler.IsCheck; } else if (obj is AlarmConditionTransferError) { var transferError = (AlarmConditionTransferError)obj; transferError.IsCheck = !transferError.IsCheck; } } public void SetSensorIsCheck(string cmdType, object obj) { if (obj != null && obj is AlarmConditionSensor) { var sensor = (AlarmConditionSensor)obj; switch (cmdType) { case "Alert": sensor.AlertTempData.IsCheck = !sensor.AlertTempData.IsCheck; break; case "Alarm": sensor.AlarmTempData.IsCheck = !sensor.AlarmTempData.IsCheck; break; default: break; } } } public void SetOtherIsCheck(object obj) { if (obj != null && obj is AlarmConditionOther) { var other = (AlarmConditionOther)obj; other.IsCheck = !other.IsCheck; } } public void TempSetClick(object sender) { string stSetValue = ShowNumberKeyboard(sender as Button, ""); } public void RampSetClick(object sender) { string strSetRamp = ShowNumberKeyboard(sender as Button, ""); } private string ShowNumberKeyboard(Control control, string defaultValue) { NumberKeyboard numberKeyboard = new NumberKeyboard("", defaultValue); var point = control.PointFromScreen(new Point(0, 0)); double wx = SystemParameters.WorkArea.Width; double hy = SystemParameters.WorkArea.Height; if (-point.Y + control.ActualHeight + 5 + numberKeyboard.Height < hy) { numberKeyboard.Top = -point.Y + control.ActualHeight + 5; } else { numberKeyboard.Top = -point.Y - numberKeyboard.Height - 5; } if (-point.X + numberKeyboard.Width < wx) { numberKeyboard.Left = -point.X; } else { numberKeyboard.Left = -point.X - (numberKeyboard.Width - control.ActualWidth); } if ((bool)numberKeyboard.ShowDialog()) return numberKeyboard.ValueString; else return "Cancel"; } public void TempTextClick(string type, object sender) { var windowManager = IoC.Get(); switch (type) { case "Mode": RecipeTempModeViewModel recipeTempModeViewModel = new RecipeTempModeViewModel(); var rtn = (windowManager as WindowManager)?.ShowDialogWithTitle(recipeTempModeViewModel, null, "Temp Mode"); break; case "Correct": TempOffsetTableViewModel tempOffsetTableViewModel = new TempOffsetTableViewModel(); break; case "PID": TempOffsetTableViewModel tempOffsetTableViewModel1 = new TempOffsetTableViewModel(); break; default: break; } } public void TempTextChanged(string type, object sender, object item) { if (!string.IsNullOrEmpty(type) && item != null && sender != null) { TempSetData tempData = (TempSetData)item; string value = ((TextBox)sender).Text; int stepNo = SelectedParameterStep.StepNo; var step = CurrentParameter.Steps.Where(x => x.StepNo == stepNo).FirstOrDefault(); } } public void ParameterEdit(object cmdName, object value) { var windowManager = IoC.Get(); switch ((string)cmdName) { case "RecipeName": break; case "StepName": break; default: break; } } public void SelectCommandType(string cmdType) { switch (cmdType) { default: break; } } public void SelectedHardSoftCommand(object obj) { ParameterCommandViewModel parameterCommandViewModel = new ParameterCommandViewModel(); var windowManager = IoC.Get(); var rtn = (windowManager as WindowManager)?.ShowDialogWithTitle(parameterCommandViewModel, null, "Command"); if ((bool)rtn) { if (obj is AlarmConditionValveILK) { ((AlarmConditionValveILK)obj).ErrorCommand = parameterCommandViewModel.SelectCommand; } else if (obj is AlarmConditionTempControler) { ((AlarmConditionTempControler)obj).ErrorCommand = parameterCommandViewModel.SelectCommand; } else if (obj is AlarmConditionAPCControler) { ((AlarmConditionAPCControler)obj).ErrorCommand = parameterCommandViewModel.SelectCommand; } else if (obj is AlarmConditionTransferError) { ((AlarmConditionTransferError)obj).ErrorCommand = parameterCommandViewModel.SelectCommand; } } } public void SelectedContDownCommand(object obj) { ParameterCommandViewModel parameterCommandViewModel = new ParameterCommandViewModel(); var windowManager = IoC.Get(); var rtn = (windowManager as WindowManager)?.ShowDialogWithTitle(parameterCommandViewModel, null, "Command"); if ((bool)rtn) { if (obj is AlarmConditionSerialLineDown) { ((AlarmConditionSerialLineDown)obj).ErrorCommand = parameterCommandViewModel.SelectCommand; } else if (obj is AlarmConditionLanLineDown) { ((AlarmConditionLanLineDown)obj).ErrorCommand = parameterCommandViewModel.SelectCommand; } else if (obj is AlarmConditionDeviceNetLineDown) { ((AlarmConditionDeviceNetLineDown)obj).ErrorCommand = parameterCommandViewModel.SelectCommand; } } } public void SelectedSensorCommand(string cmdType, string name, object obj) { if (obj is TextBox) { var txtEx = (TextBox)obj; ParameterCommandViewModel parameterCommandViewModel = new ParameterCommandViewModel(); var windowManager = IoC.Get(); var rtn = (windowManager as WindowManager)?.ShowDialogWithTitle(parameterCommandViewModel, null, "Command"); if ((bool)rtn) { var sensor = SelectedParameterStep.SensorList.FirstOrDefault(x => x.SensorName == name); switch (cmdType) { case "Alert": sensor.AlertTempData.ErrorCommand = parameterCommandViewModel.SelectCommand; break; case "Alarm": sensor.AlarmTempData.ErrorCommand = parameterCommandViewModel.SelectCommand; break; default: break; } } } } public void SelectedOtherCommand(object obj) { ParameterCommandViewModel parameterCommandViewModel = new ParameterCommandViewModel(); var windowManager = IoC.Get(); var rtn = (windowManager as WindowManager)?.ShowDialogWithTitle(parameterCommandViewModel, null, "Command"); if ((bool)rtn) { if (obj is AlarmConditionOther) { ((AlarmConditionOther)obj).ErrorCommand = parameterCommandViewModel.SelectCommand; } } } public void ParameterSave() { var SelectedStep = this.CurrentParameter.Steps.Where(x => x.StepNo == SelectedStepNo).FirstOrDefault(); //RecipePermissionSelectViewModel dialog = new RecipePermissionSelectViewModel("Save recipe and permission", CurrentRecipe.RecipePermission); //WindowManager wm = new WindowManager(); //bool? dialogReturn = wm.ShowDialog(dialog); //if (!dialogReturn.HasValue || !dialogReturn.Value) // return; // List names = new List(); // string filmFormula = string.Empty; //ParameterTable step = CurrentParameter.Steps.Where(x => x.StepNo == SelectedParameterStep.StepNo).FirstOrDefault(); //this.CurrentParameter.Revisor = BaseApp.Instance.UserContext.LoginName; //this.CurrentParameter.ReviseTime = DateTime.Now; //this.CurrentParameter.Level = this.LevelDisplay; //this.CurrentRecipe.RecipePermission = dialog.RecipePermission; // APC PressureUnit //if (CurrentParameter != null) //{ // string aUXUnit = (string)QueryDataClient.Instance.Service.GetConfig("PM1.AUXAlarmCondtionUnit"); // if (aUXUnit != null) // { // CurrentParameter.Steps.ToList().ForEach(x => ((AlarmConditionTable)x).AUXList.ToList().ForEach(s => // { // s.AlertTempData.Unit = aUXUnit; // s.AlarmTempData.Unit = aUXUnit; // })); // } // string mFCUnit = (string)QueryDataClient.Instance.Service.GetConfig("PM1.MFCAlarmCondtionUnit"); // if (mFCUnit != null) // { // CurrentParameter.Steps.ToList().ForEach(x => ((AlarmConditionTable)x).MFCFlowDeviationList.ToList().ForEach(s => // { // s.AlertTempData.Unit = aUXUnit; // s.AlarmTempData.Unit = aUXUnit; // })); // } // string pressUnit = (string)QueryDataClient.Instance.Service.GetConfig("PM1.APC.PressureUnit"); // string angleUnit = (string)QueryDataClient.Instance.Service.GetConfig("PM1.APC.AngleAlarmCondtionUnit"); // if (!string.IsNullOrEmpty(pressUnit) && !string.IsNullOrEmpty(angleUnit)) // { // CurrentParameter.Steps.ToList().ForEach(x => ((AlarmConditionTable)x).PressList.ToList().ForEach(s => // { // if (s.PressKindName == "APC Angle") // { // s.AlertTempData.Unit = angleUnit; // s.AlarmTempData.Unit = angleUnit; // } // else // { // s.AlertTempData.Unit = pressUnit; // s.AlarmTempData.Unit = pressUnit; // } // })); // } //} // var result = this._parameterProvider.SaveParameter(CurrentParameter.PrefixPath, CurrentParameter.Name, CurrentParameter.GetXmlString()); //if (result) if (SelectedStepNo > 0) { if (string.IsNullOrEmpty(CurrentParameter.Name)) { ReturnString = $"{SelectedStepNo}:"; } else { ReturnString = $"{SelectedStepNo}:{SelectedStepName}"; } } this.TryClose(true); } public void ParameterCancel() { if (DialogBox.ShowDialog(DialogButton.Yes | DialogButton.No, DialogType.CONFIRM, " You confirm that you want to unsave the recipe and exit the interface?") == DialogButton.No) return; this.TryClose(false); } protected override void InvokeAfterUpdateProperty(Dictionary data) { base.InvokeAfterUpdateProperty(data); if (CurrentParameter.Steps != null && CurrentParameter.Steps.Count > 0 && CheckValueChange(data)) { //SelectStep(CurrentRecipe.Steps[EditRecipeStepNo]); } oldresult = data; } Dictionary oldresult; private bool CheckValueChange(Dictionary result) { Dictionary temp = result; if (oldresult == null) { oldresult = result; return true; } else { List strkeys = new List(); foreach (var key in result.Keys) { if (_subscribedKeys.Contains(key) && oldresult.ContainsKey(key) && result.ContainsKey(key)) { if (result[key].GetType() == typeof(AITValveData) && ((AITValveData)oldresult[key]).VirtualFeedback != ((AITValveData)result[key]).VirtualFeedback) { return true; } else if (result[key].GetType() == typeof(AITMfcData) && ((AITMfcData)oldresult[key]).VirtualSetPoint != ((AITMfcData)result[key]).VirtualSetPoint) { return true; } else if (result[key].GetType() == typeof(bool) && (bool)oldresult[key] != (bool)result[key]) { return true; } } } } return false; } public void RdoCmdSelectTypeChecked(string cmd) { switch (cmd) { case "Temp": SetShowGrid(AlarmConditionCmdType.Temp); break; case "MFC": SetShowGrid(AlarmConditionCmdType.MFC); break; case "Press": SetShowGrid(AlarmConditionCmdType.Press); break; case "AUX": SetShowGrid(AlarmConditionCmdType.AUX); break; case "HWILK": SetShowGrid(AlarmConditionCmdType.HWILK); break; case "HardSoft": SetShowGrid(AlarmConditionCmdType.HardSoft); break; case "ContDown": SetShowGrid(AlarmConditionCmdType.ContDown); break; case "Sensor": SetShowGrid(AlarmConditionCmdType.Sensor); break; case "Other": SetShowGrid(AlarmConditionCmdType.Other); break; default: break; } } public void RdoCmdSelectTempChecked(string cmd) { switch (cmd) { case "Heater": TempMainHeaterVisibility = Visibility.Visible; TempBoatVisibility = Visibility.Hidden; break; case "Boat": TempMainHeaterVisibility = Visibility.Hidden; TempBoatVisibility = Visibility.Visible; break; default: break; } } public void RdoCmdSelectHardSoftChecked(string cmd) { var alarmConditionView = ((AlarmConditionReadOnlyView)((Window)GetView()).Content); if (SelectedParameterStep == null) return; switch (cmd) { case "Valve": alarmConditionView.HardSoftLV.ItemsSource = SelectedParameterStep.ValveIlkList; break; case "Temp": alarmConditionView.HardSoftLV.ItemsSource = SelectedParameterStep.TempControlerList; break; case "APC": alarmConditionView.HardSoftLV.ItemsSource = SelectedParameterStep.APCControlerList; break; case "Transfer": alarmConditionView.HardSoftLV.ItemsSource = SelectedParameterStep.TransferErrorList; break; default: break; } } public void RdoCmdSelectContDownChecked(string cmd) { var alarmConditionView = ((AlarmConditionReadOnlyView)((Window)GetView()).Content); if (SelectedParameterStep == null) return; switch (cmd) { case "SerialLineDown": alarmConditionView.ContDownLV.ItemsSource = SelectedParameterStep.SerialLineDownList; break; case "LanLineDown": alarmConditionView.ContDownLV.ItemsSource = SelectedParameterStep.LanLineDownList; break; //case "DeviceNetLineDown": // alarmConditionView.ContDownLV.ItemsSource = SelectedParameterStep.DeviceNetLineDownList; // break; default: break; } } public void SetShowGrid(AlarmConditionCmdType cmdType) { switch (cmdType) { case AlarmConditionCmdType.Temp: TempVisibility = Visibility.Visible; MFCVisibility = Visibility.Hidden; PressVisibility = Visibility.Hidden; AUXVisibility = Visibility.Hidden; HWILKVisibility = Visibility.Hidden; HardSoftVisibility = Visibility.Hidden; ContDownVisibility = Visibility.Hidden; SensorVisibility = Visibility.Hidden; OtherVisibility = Visibility.Hidden; break; case AlarmConditionCmdType.MFC: TempVisibility = Visibility.Hidden; MFCVisibility = Visibility.Visible; PressVisibility = Visibility.Hidden; AUXVisibility = Visibility.Hidden; HWILKVisibility = Visibility.Hidden; HardSoftVisibility = Visibility.Hidden; ContDownVisibility = Visibility.Hidden; SensorVisibility = Visibility.Hidden; OtherVisibility = Visibility.Hidden; break; case AlarmConditionCmdType.Press: TempVisibility = Visibility.Hidden; MFCVisibility = Visibility.Hidden; PressVisibility = Visibility.Visible; AUXVisibility = Visibility.Hidden; HWILKVisibility = Visibility.Hidden; HardSoftVisibility = Visibility.Hidden; ContDownVisibility = Visibility.Hidden; SensorVisibility = Visibility.Hidden; OtherVisibility = Visibility.Hidden; break; case AlarmConditionCmdType.AUX: TempVisibility = Visibility.Hidden; MFCVisibility = Visibility.Hidden; PressVisibility = Visibility.Hidden; AUXVisibility = Visibility.Visible; HWILKVisibility = Visibility.Hidden; HardSoftVisibility = Visibility.Hidden; ContDownVisibility = Visibility.Hidden; SensorVisibility = Visibility.Hidden; OtherVisibility = Visibility.Hidden; break; case AlarmConditionCmdType.HWILK: TempVisibility = Visibility.Hidden; MFCVisibility = Visibility.Hidden; PressVisibility = Visibility.Hidden; AUXVisibility = Visibility.Hidden; HWILKVisibility = Visibility.Visible; HardSoftVisibility = Visibility.Hidden; ContDownVisibility = Visibility.Hidden; SensorVisibility = Visibility.Hidden; OtherVisibility = Visibility.Hidden; break; case AlarmConditionCmdType.HardSoft: TempVisibility = Visibility.Hidden; MFCVisibility = Visibility.Hidden; PressVisibility = Visibility.Hidden; AUXVisibility = Visibility.Hidden; HWILKVisibility = Visibility.Hidden; HardSoftVisibility = Visibility.Visible; ContDownVisibility = Visibility.Hidden; SensorVisibility = Visibility.Hidden; OtherVisibility = Visibility.Hidden; break; case AlarmConditionCmdType.ContDown: TempVisibility = Visibility.Hidden; MFCVisibility = Visibility.Hidden; PressVisibility = Visibility.Hidden; AUXVisibility = Visibility.Hidden; HWILKVisibility = Visibility.Hidden; HardSoftVisibility = Visibility.Hidden; ContDownVisibility = Visibility.Visible; SensorVisibility = Visibility.Hidden; OtherVisibility = Visibility.Hidden; break; case AlarmConditionCmdType.Sensor: TempVisibility = Visibility.Hidden; MFCVisibility = Visibility.Hidden; PressVisibility = Visibility.Hidden; AUXVisibility = Visibility.Hidden; HWILKVisibility = Visibility.Hidden; HardSoftVisibility = Visibility.Hidden; ContDownVisibility = Visibility.Hidden; SensorVisibility = Visibility.Visible; OtherVisibility = Visibility.Hidden; break; case AlarmConditionCmdType.Other: TempVisibility = Visibility.Hidden; MFCVisibility = Visibility.Hidden; PressVisibility = Visibility.Hidden; AUXVisibility = Visibility.Hidden; HWILKVisibility = Visibility.Hidden; HardSoftVisibility = Visibility.Hidden; ContDownVisibility = Visibility.Hidden; SensorVisibility = Visibility.Hidden; OtherVisibility = Visibility.Visible; break; default: break; } } public void AlarmTempDataUnitClick(TempData tempData) { TempData temp = tempData; } } }