public static void WaitForConfiguration(List <Machine> machines) { if (machines != null && machines.Any(machine => machine != null && !ConnectionStore.ConfigurationAvailable(machine))) { Worker.WaitFor("Retrieving configuration...", () => machines.All(machine => ConnectionStore.Connections[machine].ServiceHandler.Status == ProcessManagerServiceHandlerStatus.Disconnected || ConnectionStore.ConfigurationAvailable(machine))); } }
private void UpdateSelectedGroup() { if (SelectedGroup != null) { SelectedGroup = SelectedSourceMachine == null || !ConnectionStore.ConfigurationAvailable(SelectedSourceMachine) ? null : ConnectionStore.Connections[SelectedSourceMachine].Configuration.Groups .FirstOrDefault(group => Comparer.GroupsEqual(group, SelectedGroup)); } UpdateLinkLabelGroup(); }
private void UpdateSelectedApplications() { if (SelectedApplications != null) { SelectedApplications = SelectedSourceMachine == null || !ConnectionStore.ConfigurationAvailable(SelectedSourceMachine) ? null : SelectedApplications .Select(selectedApplication => ConnectionStore.Connections[SelectedSourceMachine].Configuration .Applications .Where(application => ConnectionStore.Connections[SelectedSourceMachine].Configuration .Groups .Where(group => Comparer.GroupsEqual(group, SelectedGroup)) .SelectMany(group => group.Applications) .Any(appID => ProcessManager.DataObjects.Comparers.Comparer <Application> .IDObjectsEqual(application, appID))) .FirstOrDefault(application => Comparer.ApplicationsEqual(application, selectedApplication))) .Where(application => application != null) .Distinct(new ApplicationEqualityComparer()) .ToList(); } UpdateLinkLabelApplications(); }