private void OnMaintenanceModeEnd(object sender, CommandEventArgs e) { ConsoleJobs.RunJob(this, (param0, param1) => { IEnumerable <InstanceState> monitoringObjects = GridSelectedItems.Where(si => si.InMaintenanceMode); if (!monitoringObjects.Any()) { return; } using (MaintenanceModeExitDialog maintenanceModeExitDialog = new MaintenanceModeExitDialog()) { if (maintenanceModeExitDialog.ShowDialog() != DialogResult.Yes) { return; } foreach (InstanceState monitoringObject in monitoringObjects) { monitoringObject.GetPartialMonitoringObject(ManagementGroup).StopMaintenanceMode(DateTime.UtcNow, maintenanceModeExitDialog.ApplyToContained ? TraversalDepth.Recursive : TraversalDepth.OneLevel); } UpdateCache(); } }); }
private void OnMaintenanceModeStart(object sender, CommandEventArgs e) { ConsoleJobs.RunJob(this, (param0, param1) => { IEnumerable <InstanceState> monitoringObjects = GridSelectedItems.Where(i => !i.InMaintenanceMode); if (!monitoringObjects.Any()) { return; } using (MaintenanceModeDialog maintenanceModeDialog = new MaintenanceModeDialog()) { Site.Container.Add(maintenanceModeDialog); foreach (InstanceState monitoringObject in monitoringObjects) { maintenanceModeDialog.EntityItems.Add(monitoringObject.GetPartialMonitoringObject(ManagementGroup)); } if (maintenanceModeDialog.ShowDialog() != DialogResult.OK) { return; } UpdateCache(UpdateReason.Refresh); } }); }