public frm_WHControlConfig_Editor(string sn, UC_WHControlConfig_VM_Base strategy, List <UC_WHControlConfig_Tem_VM> temStrategyList, List <UC_WHControlConfig_Smoke_VM> smokeStrategyList) { InitializeComponent(); UpdateLang(CommonUI.ControlConfigLangPath); _vm = new WHControlConfig_Editor_VM(); _vm.SelectedScreenSN = sn; if (strategy == null) { comboBox_ControlType.Enabled = true; _vm.Strategy = new UC_WHControlConfig_Tem_VM(sn); } else { _vm.Strategy = strategy; comboBox_ControlType.Enabled = false; } _vm.TemStrategyList = temStrategyList; _vm.SmokeStrategyList = smokeStrategyList; }
private void UpdateUI(UC_WHControlConfig_VM_Base strategy) { if (strategy == null) { return; } UC_WHControlConfig_Smoke_VM smoke_VM = null; UC_WHControlConfig_Tem_VM tem_VM = null; if (strategy.StratlType == StrategyType.SmokeStrategy) { smoke_VM = (UC_WHControlConfig_Smoke_VM)strategy; if (smoke_VM == null) { return; } if (_UC_SmokeCfg != null) { panel_ControlContent.Controls.Remove(_UC_SmokeCfg); } _UC_SmokeCfg = new UC_WHControlConfig_Smoke(smoke_VM); panel_ControlContent.Controls.Add(_UC_SmokeCfg); _UC_SmokeCfg.Dock = DockStyle.Fill; _UC_SmokeCfg.BringToFront(); } else if (strategy.StratlType == StrategyType.TemperatureStrategy) { tem_VM = (UC_WHControlConfig_Tem_VM)strategy; if (tem_VM == null) { return; } if (_UC_TemCfg != null) { panel_ControlContent.Controls.Remove(_UC_TemCfg); } _UC_TemCfg = new UC_WHControlConfig_Tem(tem_VM); panel_ControlContent.Controls.Add(_UC_TemCfg); _UC_TemCfg.Dock = DockStyle.Fill; _UC_TemCfg.BringToFront(); } }
public void AddStartegy(UC_WHControlConfig_VM_Base strategyInfo) { if (strategyInfo.StratlType == StrategyType.SmokeStrategy) { var vm = (UC_WHControlConfig_Smoke_VM)strategyInfo; _smokeStrategyList.Add(vm); _vm_BaseList.Add(vm); } else if (strategyInfo.StratlType == StrategyType.TemperatureStrategy) { var vm = (UC_WHControlConfig_Tem_VM)strategyInfo; _temStrategyList.Add(vm); _vm_BaseList.Add(vm); } }
public void ModifyStartegy(UC_WHControlConfig_VM_Base strategyInfo) { if (strategyInfo.StratlType == StrategyType.SmokeStrategy) { var vm = (UC_WHControlConfig_Smoke_VM)strategyInfo; if (vm == null) return; var smokeVM = _smokeStrategyList.Find(a => a.ID == vm.ID); if (smokeVM != null) { int index = _smokeStrategyList.FindIndex(a => a.ID == smokeVM.ID); _smokeStrategyList.RemoveAt(index); _smokeStrategyList.Insert(index, vm); index = _vm_BaseList.FindIndex(a => a.ID == smokeVM.ID); _vm_BaseList.RemoveAt(index); _vm_BaseList.Insert(index, vm); } } else if (strategyInfo.StratlType == StrategyType.TemperatureStrategy) { var vm = (UC_WHControlConfig_Tem_VM)strategyInfo; if (vm == null) return; var temVM = _temStrategyList.Find(a => a.ID == vm.ID); if (temVM != null) { int index = _temStrategyList.FindIndex(a => a.ID == temVM.ID); _temStrategyList.RemoveAt(index); _temStrategyList.Insert(index, vm); index = _vm_BaseList.FindIndex(a => a.ID == temVM.ID); _vm_BaseList.RemoveAt(index); _vm_BaseList.Insert(index, vm); } } }
public bool DeleteStartegy(UC_WHControlConfig_VM_Base strategyInfo) { if (strategyInfo.StratlType == StrategyType.SmokeStrategy) { var vm = (UC_WHControlConfig_Smoke_VM)strategyInfo; if (vm == null) return false; var smokeVM = _smokeStrategyList.Find(a => a.ID == vm.ID); if (smokeVM == null) return false; else { if (_smokeStrategyList.Remove(smokeVM)) return _vm_BaseList.Remove(smokeVM); else return false; } } else if (strategyInfo.StratlType == StrategyType.TemperatureStrategy) { var vm = (UC_WHControlConfig_Tem_VM)strategyInfo; if (vm == null) return false; var temVM = _temStrategyList.Find(a => a.ID == vm.ID); if (temVM == null) return false; else { if (_temStrategyList.Remove(temVM)) return _vm_BaseList.Remove(temVM); else return false; } } else if (strategyInfo.StratlType == StrategyType.LightStrategy) { //处理亮度控制 } return true; }
private void button_OK_Click(object sender, EventArgs e) { if (comboBox_ControlType.SelectedIndex < 0) { return; } StrategyType type = _vm.SelectedCtrlType.Value; UC_WHControlConfig_VM_Base baseVM = null; #region 页面输入合理性检测 if (type == StrategyType.TemperatureStrategy) { ValueRes tempRes = _UC_TemCfg.IsOK(); switch (tempRes) { case ValueRes.ok: break; case ValueRes.MinBiggerThanMax: CustomMessageBox.ShowCustomMessageBox(this.ParentForm, CommonUI.GetCustomMessage(_langTable, "msg_tem_minvaluebiggerthanmax", "最小温度不能大于最大温度")); return; case ValueRes.MinToMaxToSimilar: CustomMessageBox.ShowCustomMessageBox(this.ParentForm, CommonUI.GetCustomMessage(_langTable, "msg_tem_valuetoosimilar", "最大温度与最小温度值相差不能小于5℃")); return; case ValueRes.invalidValue: CustomMessageBox.ShowCustomMessageBox(this.ParentForm, CommonUI.GetCustomMessage(_langTable, "msg_action_illegal", "请设置有效的执行动作")); return; } } else if (type == StrategyType.SmokeStrategy) { if (!_UC_SmokeCfg.IsOk()) { CustomMessageBox.ShowCustomMessageBox(this.ParentForm, CommonUI.GetCustomMessage(_langTable, "msg_power_notchoose", "请选择需要关闭的电源")); return; } baseVM = _UC_SmokeCfg.SmokeVM; } #endregion if (comboBox_ControlType.Enabled) { ControlConfigSaveRes res; if (type == StrategyType.SmokeStrategy) { res = _vm.IsSmokeOk(_UC_SmokeCfg.SmokeVM); switch (res) { case ControlConfigSaveRes.ok: _vm.Strategy = _UC_SmokeCfg.SmokeVM; this.DialogResult = System.Windows.Forms.DialogResult.OK; return; case ControlConfigSaveRes.smoke_CtrlCfgIsExist: CustomMessageBox.ShowCustomMessageBox(this.ParentForm, CommonUI.GetCustomMessage(_langTable, "msg_controlconfig_repeat", "策略重复,添加失败")); return; case ControlConfigSaveRes.smoke_CtrlCfgIsInvalid: CustomMessageBox.ShowCustomMessageBox(this.ParentForm, CommonUI.GetCustomMessage(_langTable, "msg_action_illegal", "请设置有效的执行动作")); return; case ControlConfigSaveRes.smoke_objIsNull: CustomMessageBox.ShowCustomMessageBox(this.ParentForm, CommonUI.GetCustomMessage(_langTable, "msg_controlconfig_null", "策略对象为空")); return; default: break; } } else if (type == StrategyType.TemperatureStrategy) { res = _vm.IsTemOk(_UC_TemCfg.TemVM); switch (res) { case ControlConfigSaveRes.ok: _vm.Strategy = _UC_TemCfg.TemVM; this.DialogResult = System.Windows.Forms.DialogResult.OK; return; case ControlConfigSaveRes.tem_CtrlCfgIsExist: CustomMessageBox.ShowCustomMessageBox(this.ParentForm, CommonUI.GetCustomMessage(_langTable, "msg_controlconfig_repeat", "策略重复,添加失败")); return; case ControlConfigSaveRes.tem_CtrlCfgIsInvalid: CustomMessageBox.ShowCustomMessageBox(this.ParentForm, CommonUI.GetCustomMessage(_langTable, "msg_action_illegal", "请设置有效的执行动作")); return; case ControlConfigSaveRes.tem_objIsNull: CustomMessageBox.ShowCustomMessageBox(this.ParentForm, CommonUI.GetCustomMessage(_langTable, "msg_controlconfig_null", "策略对象为空")); return; case ControlConfigSaveRes.tem_ConditionError: CustomMessageBox.ShowCustomMessageBox(this.ParentForm, CommonUI.GetCustomMessage(_langTable, "msg_tem_valuetoosimilar", "最大温度与最小温度值相差不能小于5℃")); return; default: break; } } } else { if (type == StrategyType.SmokeStrategy) { _vm.Strategy = _UC_SmokeCfg.SmokeVM; this.DialogResult = System.Windows.Forms.DialogResult.OK; } else if (type == StrategyType.TemperatureStrategy) { _vm.Strategy = _UC_TemCfg.TemVM; this.DialogResult = System.Windows.Forms.DialogResult.OK; } } }