示例#1
0
 protected void BuildInstanceOf(
     InstanceAttribute attribute,
     StringBuilder builder)
 {
     builder.Append("        public readonly InstanceOf<")
     .Append(this._type.FullName)
     .Append("> ")
     .Append(attribute.Name)
     .Append(" =\r\n");
 }
示例#2
0
        public void ChangeImage(string imagePath)
        {
            if (string.IsNullOrEmpty(imagePath))
            {
                return;
            }

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

            InstanceAttribute instanceAttribute = instanceAttributes.Find(x => x.EnvironmentId == SelectedRDPTerminal.EnvironmentId);

            if (instanceAttribute != null)
            {
                instanceAttribute.ImageSource = imagePath;
            }
            else
            {
                instanceAttributes.Add(new InstanceAttribute()
                {
                    EnvironmentId = SelectedRDPTerminal.EnvironmentId, ImageSource = imagePath
                });
            }

            Properties.Settings.Default.instanceattributes = JsonConvert.SerializeObject(instanceAttributes, new JsonSerializerSettings {
                TypeNameHandling = TypeNameHandling.Auto
            });
            Properties.Settings.Default.Save();

            var changedVM = new Model.RDPTerminal()
            {
                InstanceId                 = SelectedRDPTerminal.InstanceId,
                DeploymentStatus           = SelectedRDPTerminal.DeploymentStatus,
                ApplicationRelease         = SelectedRDPTerminal.ApplicationRelease,
                CurrentPlatformReleaseName = SelectedRDPTerminal.CurrentPlatformReleaseName,
                TopologyType               = SelectedRDPTerminal.TopologyType,
                DisplayName                = SelectedRDPTerminal.DisplayName,
                EnvironmentId              = SelectedRDPTerminal.EnvironmentId,
                Instances           = SelectedRDPTerminal.Instances,
                SqlAzureCredentials = SelectedRDPTerminal.SqlAzureCredentials,
                NavigationLinks     = SelectedRDPTerminal.NavigationLinks,
                ImageSource         = imagePath
            };

            this.Delete();

            RDPTerminals.Add(changedVM);
            RDPTerminals.BubbleSort();
            SelectedRDPTerminal = changedVM;
        }
示例#3
0
        public EntityDescriptor(string name, Type entityType, TableAttribute table, InstanceAttribute instance, IEnumerable <KeyValuePair <string, PropertyDescriptor> > props)
        {
            Name = name;
            Type = entityType;
            if (table == null)
            {
                Table = new TableAttribute(name);
            }
            else
            {
                Table = table;
            }
            Instance  = instance;
            Propertys = new ReadOnlyConcurrentDictionary <string, PropertyDescriptor>(props);

            DbInstance = new Lazy <DbInstance>(() =>
            {
                return(Database.DbInstance.Get(Instance.DbInstance));
            });
        }
示例#4
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);
                }
            }
        }