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(); }
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); } } }