예제 #1
0
 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();
 }