Beispiel #1
0
        private async Task DeregisterApplications()
        {
            List <EurekaApplicationViewModel> apps = SelectedApplications.ToList();

            foreach (EurekaApplicationViewModel app in apps)
            {
                await service.Deregister(app.AppName, app.InstanceId);
            }
        }
        private void UpdateMacroActionBundle()
        {
            ActionBundle.Actions.Clear();
            if (HasValidSelections)
            {
                ActionBundle.Actions.AddRange(SelectedApplications.SelectMany(application =>
                                                                              SelectedDestinationMachines.Select(destinationMachine =>
                                                                                                                 new MacroDistributionAction(ActionBundle.Type, SelectedSourceMachine.ID, SelectedGroup.ID, application.ID, destinationMachine.ID))));
            }

            RaiseMacroActionItemChangedEvent();
        }
        public override void Cleanup()
        {
            if (_loadWorker.IsBusy)
            {
                _loadWorker.CancelAsync();
            }

            if (_applications != null)
            {
                Applications.Filter = null;
                SelectedApplications.Clear();
                _applications.Clear();
                _applications = null;
                Applications.Refresh();
            }

            base.Cleanup();
        }
 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();
 }
        private void LinkLabelApplications_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            IEnumerable <Tuple <Application, bool> > applications = ConnectionStore.Connections[SelectedSourceMachine]
                                                                    .Configuration
                                                                    .Applications
                                                                    .Where(application => ConnectionStore.Connections[SelectedSourceMachine].Configuration
                                                                           .Groups
                                                                           .Where(group => Comparer.GroupsEqual(group, SelectedGroup))
                                                                           .SelectMany(group => group.Applications)
                                                                           .Any(applicationID => ProcessManager.DataObjects.Comparers.Comparer <Application> .IDObjectsEqual(application, applicationID)))
                                                                    .Distinct(new ApplicationEqualityComparer())
                                                                    .Select(application => new Tuple <Application, bool>(application, SelectedApplications != null &&
                                                                                                                         SelectedApplications.Any(x => Comparer.ApplicationsEqual(application, x))));

            Picker.ShowMultiSelectMenu(linkLabelApplications, applications, ContextMenu_SelectApplications_MenuClosed);
        }