Esempio n. 1
0
        private void AddOrEditEditSensor(CrudType crudType, ISensor iSensor)
        {
            switch (iSensor.SensorType)
            {
            case SensorType.Cpu:
            {
                var sensor = iSensor as CpuSensor;
                using (var dlg = new CpuSensorForm(crudType, sensor, appConfig.MonitorSettings.GetAllSensors()))
                {
                    if (dlg.ShowDialog(this) != DialogResult.OK)
                    {
                        return;
                    }
                }
                break;
            }

            case SensorType.Http:
            {
                var sensor = iSensor as HttpSensor;
                using (var dlg = new HttpSensorForm(crudType, sensor, appConfig.MonitorSettings.GetAllSensors()))
                {
                    if (dlg.ShowDialog(this) != DialogResult.OK)
                    {
                        return;
                    }
                }
                break;
            }

            case SensorType.Ftp:
            {
                var sensor = iSensor as FtpSensor;
                using (var dlg = new FtpSensorForm(crudType, sensor, appConfig.MonitorSettings.GetAllSensors()))
                {
                    if (dlg.ShowDialog(this) != DialogResult.OK)
                    {
                        return;
                    }
                }
                break;
            }

            case SensorType.Drivespace:
            {
                var sensor = iSensor as DriveSpaceSensor;
                using (var dlg = new DriveSpaceSensorForm(crudType, sensor, appConfig.MonitorSettings.GetAllSensors()))
                {
                    if (dlg.ShowDialog(this) != DialogResult.OK)
                    {
                        return;
                    }
                }
                break;
            }

            case SensorType.FolderSize:
            {
                var sensor = iSensor as FolderSizeSensor;
                using (var dlg = new FolderSizeSensorForm(crudType, sensor, appConfig.MonitorSettings.GetAllSensors()))
                {
                    if (dlg.ShowDialog(this) != DialogResult.OK)
                    {
                        return;
                    }
                }
                break;
            }

            case SensorType.FolderCheck:
            {
                var sensor = iSensor as FolderCheckSensor;
                using (var dlg = new FolderCheckSensorForm(crudType, sensor, appConfig.MonitorSettings.GetAllSensors()))
                {
                    if (dlg.ShowDialog(this) != DialogResult.OK)
                    {
                        return;
                    }
                }
                break;
            }

            case SensorType.FileSize:
            {
                var sensor = iSensor as FileSizeSensor;
                using (var dlg = new FileSizeSensorForm(crudType, sensor, appConfig.MonitorSettings.GetAllSensors()))
                {
                    if (dlg.ShowDialog(this) != DialogResult.OK)
                    {
                        return;
                    }
                }
                break;
            }

            case SensorType.FileCheck:
            {
                var sensor = iSensor as FileCheckSensor;
                using (var dlg = new FileCheckSensorForm(crudType, sensor, appConfig.MonitorSettings.GetAllSensors()))
                {
                    if (dlg.ShowDialog(this) != DialogResult.OK)
                    {
                        return;
                    }
                }
                break;
            }

            case SensorType.Ram:
            {
                var sensor = iSensor as RamSensor;
                using (var dlg = new RamSensorForm(crudType, sensor, appConfig.MonitorSettings.GetAllSensors()))
                {
                    if (dlg.ShowDialog(this) != DialogResult.OK)
                    {
                        return;
                    }
                }
                break;
            }

            case SensorType.Service:
            {
                var sensor = iSensor as ServiceSensor;
                using (var dlg = new ServiceSensorForm(crudType, sensor, appConfig.MonitorSettings.GetAllSensors()))
                {
                    if (dlg.ShowDialog(this) != DialogResult.OK)
                    {
                        return;
                    }
                }
                break;
            }

            case SensorType.Process:
            {
                var sensor = iSensor as ProcessSensor;
                using (var dlg = new ProcessSensorForm(crudType, sensor, appConfig.MonitorSettings.GetAllSensors()))
                {
                    if (dlg.ShowDialog(this) != DialogResult.OK)
                    {
                        return;
                    }
                }
                break;
            }

            case SensorType.SqlConnection:
            {
                var sensor = iSensor as SqlConnectionSensor;
                using (var dlg = new SqlConnectionSensorForm(crudType, sensor, appConfig.MonitorSettings.GetAllSensors()))
                {
                    if (dlg.ShowDialog(this) != DialogResult.OK)
                    {
                        return;
                    }
                }
                break;
            }

            case SensorType.IISApplicationPool:
            {
                var sensor = iSensor as IISApplicationPoolSensor;
                using (var dlg = new IISApplicationPoolSensorForm(crudType, sensor, appConfig.MonitorSettings.GetAllSensors()))
                {
                    if (dlg.ShowDialog(this) != DialogResult.OK)
                    {
                        return;
                    }
                }
                break;
            }

            case SensorType.IISWebsite:
            {
                var sensor = iSensor as IISWebsiteSensor;
                using (var dlg = new IISWebsiteSensorForm(crudType, sensor, appConfig.MonitorSettings.GetAllSensors()))
                {
                    if (dlg.ShowDialog(this) != DialogResult.OK)
                    {
                        return;
                    }
                }
                break;
            }

            case SensorType.Ping:
            {
                var sensor = iSensor as PingSensor;
                using (var dlg = new PingSensorForm(crudType, sensor, appConfig.MonitorSettings.GetAllSensors()))
                {
                    if (dlg.ShowDialog(this) != DialogResult.OK)
                    {
                        return;
                    }
                }
                break;
            }

            default:
            {
                MessageBox.Show("Unable to determine the Sensor Type");
                return;
            }
            }

            if (crudType == CrudType.Add)
            {
                appConfig.AddMonitor(iSensor);
            }

            appConfig.SaveMonitorSettings();
            LoadMonitorSensors();
        }