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);
 }
 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 UC_WHControlConfig_VM_Base CreateStrategy(StrategyType type)
        {
            UC_WHControlConfig_VM_Base strategy = null;

            if (type == StrategyType.SmokeStrategy)
            {
                strategy = new UC_WHControlConfig_Smoke_VM(_selectedScreenSN);
            }
            else if (type == StrategyType.TemperatureStrategy)
            {
                strategy = new UC_WHControlConfig_Tem_VM(_selectedScreenSN);
            }
            else if (type == StrategyType.LightStrategy)
            {
                //处理亮度控制初始化
                return(null);
            }
            return(strategy);
        }
 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);
         }
     }
 }