예제 #1
0
        private void ApplyFilter_Click(object sender, System.Windows.RoutedEventArgs e)
        {
            bool       activate   = ActivateFilter.IsChecked ?? false;
            MainWindow mainWindow = Application.Current.MainWindow as MainWindow;

            if (activate == true && Status.SelectedItem != null && Release.SelectedItem != null && PlatformRelease.SelectedItem != null)
            {
                EnvironmentState           environmentstate           = Status.SelectedItem as EnvironmentState;
                ReleaseInformation         releaseInformation         = Release.SelectedItem as ReleaseInformation;
                PlatformReleaseInformation platformReleaseInformation = PlatformRelease.SelectedItem as PlatformReleaseInformation;
                mainWindow.SetFilter(activate, environmentstate, releaseInformation, platformReleaseInformation);
            }
            else
            {
                mainWindow.SetFilter(activate, null, null, null);
            }

            this.Close();
        }
예제 #2
0
        public CloudHostedViewModel()
        {
            RDPTerminals = new System.Collections.ObjectModel.ObservableCollection <Model.RDPTerminal>();

            MainWindow mainWindow = Application.Current.MainWindow as MainWindow;
            List <CloudHostedInstance> cloudHostedTerminals = mainWindow.CloudHosted;
            List <InstanceAttribute>   instanceAttributes   = mainWindow.InstanceAttributes;

            mainWindow.EnableCloudHosted(false);


            FilterValues filterValues = mainWindow.GetFilter();

            NumberOfMachines = cloudHostedTerminals.Count;

            if (cloudHostedTerminals != null)
            {
                foreach (CloudHostedInstance instance in cloudHostedTerminals)
                {
                    InstanceAttribute instanceAttribute = instanceAttributes.Find(x => x.EnvironmentId == instance.EnvironmentId);

                    string imageSource = "/Resources/DefaultVM.png";
                    if (instanceAttribute != null)
                    {
                        imageSource = instanceAttribute.ImageSource;
                    }

                    EnvironmentState envState = new EnvironmentState()
                    {
                        StateDescription = instance.DeploymentStatus,
                        StateNum         = instance.DeploymentState
                    };
                    mainWindow.AddEnvironmentState(envState);

                    PlatformReleaseInformation platformReleaseInformation = new PlatformReleaseInformation()
                    {
                        PlatformRelease = instance.CurrentPlatformReleaseName
                    };

                    ReleaseInformation releaseinformation = new ReleaseInformation()
                    {
                        Release = instance.CurrentApplicationReleaseName
                    };

                    if (platformReleaseInformation.PlatformRelease != null && releaseinformation.Release != null)
                    {
                        mainWindow.AddReleaseInformation(releaseinformation, platformReleaseInformation);
                    }

                    bool okToAdd = false;
                    if (filterValues.Active == true)
                    {
                        if (instance.DeploymentStatus == filterValues.environmentState.StateDescription &&
                            instance.CurrentApplicationReleaseName == filterValues.releaseInformation.Release &&
                            instance.CurrentPlatformReleaseName == filterValues.platformReleaseInformation.PlatformRelease)
                        {
                            okToAdd = true;
                        }
                    }
                    else
                    {
                        okToAdd = true;
                    }

                    if (okToAdd == true)
                    {
                        RDPTerminals.Add(new Model.RDPTerminal()
                        {
                            InstanceId                 = instance.InstanceId,
                            DeploymentStatus           = instance.DeploymentStatus,
                            ApplicationRelease         = instance.CurrentApplicationReleaseName,
                            CurrentPlatformReleaseName = instance.CurrentPlatformReleaseName,
                            TopologyType               = instance.TopologyType,
                            DisplayName                = instance.DisplayName,
                            EnvironmentId              = instance.EnvironmentId,
                            Instances           = instance.Instances,
                            SqlAzureCredentials = instance.SqlAzureCredentials,
                            NavigationLinks     = instance.NavigationLinks,
                            ImageSource         = imageSource
                        });
                    }
                }
                if (RDPTerminals.Count > 0)
                {
                    RDPTerminals.BubbleSort();
                    SelectedRDPTerminal = RDPTerminals[0];
                    mainWindow.EnableCloudHosted(true);
                }
            }
        }