Exemple #1
0
        public void DeleteProcess(EnumProcessingType ProcessType)
        {
            //Validation
            if (ProcessType == EnumProcessingType.None || !Processes.ContainsKey(ProcessType))
            {
                return;
            }

            Processes.Remove(ProcessType);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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 }));
            }
        }
Exemple #4
0
        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);
        }
Exemple #5
0
 public void DeleteProcess(EnumProcessingType ProcessType)
 {
     Model.DeleteProcess(ProcessType);
 }
Exemple #6
0
 public void EditProcess(EnumProcessingType previousProcessType, EnumProcessingType processType)
 {
     Model.EditProcess(previousProcessType, processType);
 }
Exemple #7
0
 public void DefineProcesses(string settingID, EnumProcessingType processType)
 {
     Model.BuildProcess(settingID, processType);
 }