public void DeleteProcess(EnumProcessingType ProcessType) { //Validation if (ProcessType == EnumProcessingType.None || !Processes.ContainsKey(ProcessType)) { return; } Processes.Remove(ProcessType); }
public ISNMPProcessStrategy EditProcess(EnumProcessingType PreviousProcessType, EnumProcessingType NewProcessType) { ISNMPProcessStrategy ProcessProfile = null; //Validation if (Processes == null && NewProcessType == EnumProcessingType.None) { return(null); } switch (NewProcessType) { case EnumProcessingType.None: break; case EnumProcessingType.TopologyDiscovery: if (!Processes.ContainsKey(NewProcessType)) { ProcessProfile = new TopologyBuilderStrategy(this, ChangeTrackerHandler); ProcessProfile.TargetDeviceSettings = Processes[PreviousProcessType].TargetDeviceSettings; Processes.Add(NewProcessType, ProcessProfile); } else { ProcessProfile = Processes[NewProcessType]; //MJE - Pending of double-checking ((List <ISNMPDeviceSettingDTO>)ProcessProfile.TargetDeviceSettings).AddRange(Processes[PreviousProcessType].TargetDeviceSettings); ProcessProfile.TargetDeviceSettings = ProcessProfile.TargetDeviceSettings.Distinct().ToList(); } Processes.Remove(PreviousProcessType); break; case EnumProcessingType.PrinterConsumption: break; default: break; } return(ProcessProfile); }
public IList <ISNMPProcessStrategy> GetSNMPProcessStrategy(string key = null) { if (string.IsNullOrWhiteSpace(key)) { return(Model.Processes.Values.ToList()); } else { ISNMPProcessStrategy res = null; EnumProcessingType skey = EnumProcessingType.None; if (Enum.TryParse <EnumProcessingType>(key, out skey)) { Model.Processes.TryGetValue(skey, out res); } return(res == null ? new List <ISNMPProcessStrategy>() : new List <ISNMPProcessStrategy>(new[] { res })); } }
public ISNMPProcessStrategy BuildProcess(string SettingID, EnumProcessingType ProcessType) { ISNMPProcessStrategy ProcessProfile = null; ISNMPDeviceSettingDTO DeviceProfile = DeviceSettings?[SettingID]; switch (ProcessType) { case EnumProcessingType.None: break; case EnumProcessingType.TopologyDiscovery: //Get existing strategy if (!Processes.ContainsKey(ProcessType)) { ProcessProfile = new TopologyBuilderStrategy(this, ChangeTrackerHandler); Processes.Add(ProcessType, ProcessProfile); } else { ProcessProfile = Processes[ProcessType]; } //Add device setting if found if (DeviceProfile != null) { ProcessProfile.TargetDeviceSettings.Add(DeviceProfile); } ChangeTrackerHandler(ProcessProfile, typeof(ISNMPProcessStrategy)); break; case EnumProcessingType.PrinterConsumption: break; default: break; } return(ProcessProfile); }
public void DeleteProcess(EnumProcessingType ProcessType) { Model.DeleteProcess(ProcessType); }
public void EditProcess(EnumProcessingType previousProcessType, EnumProcessingType processType) { Model.EditProcess(previousProcessType, processType); }
public void DefineProcesses(string settingID, EnumProcessingType processType) { Model.BuildProcess(settingID, processType); }