Exemplo n.º 1
0
 internal void RaisePropertyChangedEvent(Core.MigrationTarget migrationTarget)
 {
     if (!this.IsBinding)
     {
         PropertyChanged?.Invoke(migrationTarget);
     }
 }
Exemplo n.º 2
0
        public async Task UncheckMigrationTarget(Core.MigrationTarget migrationTarget)
        {
            LogProvider.WriteLog("UncheckMigrationTarget", "Start");

            if (treeViewSourceResourceManager1.Enabled)
            {
                LogProvider.WriteLog("UncheckMigrationTarget", "Seeking Originating MigrationTarget TreeNode in treeViewSourceResourceManager1");
                await treeViewSourceResourceManager1.UncheckMigrationTarget(migrationTarget);
            }
            else if (treeAzureASM.Enabled)
            {
                TreeNode sourceMigrationNode = null;

                LogProvider.WriteLog("UncheckMigrationTarget", "Seeking Originating MigrationTarget TreeNode in treeAzureASM");
                sourceMigrationNode = TargetTreeView.SeekMigrationTargetTreeNode(treeAzureASM.Nodes, migrationTarget);

                if (sourceMigrationNode == null)
                {
                    LogProvider.WriteLog("UncheckMigrationTarget", "Originating MigrationTarget TreeNode not found.");
                }
                else
                {
                    LogProvider.WriteLog("UncheckMigrationTarget", "Seeking Originating MigrationTarget TreeNode");
                    sourceMigrationNode.Checked = false;
                }
            }

            LogProvider.WriteLog("UncheckMigrationTarget", "End");
        }
Exemplo n.º 3
0
 public void Clear()
 {
     this._MigrationTarget     = null;
     this.ResourceImage        = null;
     this.ResourceText         = String.Empty;
     this.lblResourceType.Text = String.Empty;
     this.pnlProperties.Controls.Clear();
 }
Exemplo n.º 4
0
 public void Clear()
 {
     this._MigrationTarget     = null;
     this.ResourceImage        = null;
     this.ResourceText         = String.Empty;
     this.lblResourceType.Text = String.Empty;
     this.pnlProperties.Controls.Clear();
     this.cmbApiVersions.Items.Clear();
     this.lblTargetAPIVersion.Visible = false;
     this.cmbApiVersions.Items.Clear();
     this.cmbApiVersions.Visible = false;
 }
Exemplo n.º 5
0
        private async void treeAzureASM_AfterCheck(object sender, TreeViewEventArgs e)
        {
            if (_SourceAsmNode == null)
            {
                _SourceAsmNode = e.Node;
            }

            if (e.Node.Checked)
            {
                await SelectDependencies(e.Node);
            }

            TreeNode resultUpdateARMTree = null;

            Core.MigrationTarget migrationTarget = null;
            if (e.Node.Tag != null && e.Node.Tag.GetType().BaseType == typeof(Core.MigrationTarget))
            {
                migrationTarget = (Core.MigrationTarget)e.Node.Tag;

                if (e.Node.Checked)
                {
                    resultUpdateARMTree = e.Node;
                    AfterNodeChecked?.Invoke(migrationTarget);
                }
                else
                {
                    AfterNodeUnchecked?.Invoke(migrationTarget);
                }
            }

            if (_SourceAsmNode != null && _SourceAsmNode == e.Node)
            {
                if (e.Node.Checked)
                {
                    await RecursiveCheckToggleDown(e.Node, e.Node.Checked);

                    FillUpIfFullDown(e.Node);
                    treeAzureASM.SelectedNode = e.Node;
                }
                else
                {
                    await RecursiveCheckToggleUp(e.Node, e.Node.Checked);
                    await RecursiveCheckToggleDown(e.Node, e.Node.Checked);
                }

                _SelectedNodes = this.GetSelectedNodes(treeAzureASM);

                _SourceAsmNode = null;

                AfterNodeChanged?.Invoke(migrationTarget);
            }
        }
Exemplo n.º 6
0
        private void cmbResources_SelectedIndexChanged(object sender, EventArgs e)
        {
            Core.MigrationTarget selectedMigrationTargetResource = null;

            if (cmbResources.SelectedItem != null && cmbResources.SelectedItem.GetType().BaseType == typeof(Core.MigrationTarget))
            {
                selectedMigrationTargetResource = (Core.MigrationTarget)cmbResources.SelectedItem;
            }

            if (!_IsBinding)
            {
                AfterMigrationTargetChanged?.Invoke(this, selectedMigrationTargetResource);
            }
        }
Exemplo n.º 7
0
        private async Task PropertyPanel1_PropertyChanged(Core.MigrationTarget migrationTarget)
        {
            TreeNode targetNode = this.targetTreeView1.SeekMigrationTargetTreeNode(migrationTarget);

            if (targetNode != null)
            {
                targetNode.Tag  = migrationTarget;
                targetNode.Text = migrationTarget.ToString();

                if (migrationTarget.GetType() == typeof(Azure.MigrationTarget.ResourceGroup))
                {
                    targetNode.Name = migrationTarget.ToString();
                }
            }

            await this.targetTreeView1.RefreshExportArtifacts();
        }
Exemplo n.º 8
0
 private async Task Properties_PropertyChanged(Core.MigrationTarget migrationTarget)
 {
     _MigrationTarget = migrationTarget; // Refresh based on property change
     await PropertyChanged(migrationTarget);
 }
Exemplo n.º 9
0
        public async Task Bind(Core.MigrationTarget migrationTarget)
        {
            if (this.TargetTreeView == null)
            {
                throw new ArgumentException("MigrationTarget Property must be provided.");
            }

            this.TargetTreeView.LogProvider.WriteLog("PropertyPanel Bind", "Start");

            this.Clear();

            if (migrationTarget.ApiVersion == null || migrationTarget.ApiVersion == String.Empty)
            {
                migrationTarget.DefaultApiVersion(this.TargetTreeView.TargetSubscription);
            }

            this._MigrationTarget     = migrationTarget;
            this.ResourceText         = migrationTarget.ToString();
            this.ResourceImage        = imageList1.Images[migrationTarget.ImageKey];
            this.lblResourceType.Text = migrationTarget.FriendlyObjectName;

            if (migrationTarget.GetType() == typeof(VirtualNetworkGateway))
            {
                VirtualNetworkGatewayProperties properties = new VirtualNetworkGatewayProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                properties.Bind((VirtualNetworkGateway)migrationTarget, _TargetTreeView);
                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(LocalNetworkGateway))
            {
                LocalNetworkGatewayProperties properties = new LocalNetworkGatewayProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                properties.Bind((LocalNetworkGateway)migrationTarget, _TargetTreeView);
                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(VirtualNetworkGatewayConnection))
            {
                VirtualNetworkConnectionProperties properties = new VirtualNetworkConnectionProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                properties.Bind((VirtualNetworkGatewayConnection)migrationTarget, _TargetTreeView);
                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(VirtualMachine))
            {
                VirtualMachineProperties properties = new VirtualMachineProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                await properties.Bind((VirtualMachine)migrationTarget, _TargetTreeView);

                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(NetworkSecurityGroup))
            {
                NetworkSecurityGroupProperties properties = new NetworkSecurityGroupProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                properties.Bind((NetworkSecurityGroup)migrationTarget, _TargetTreeView);
                this.PropertyDetailControl = properties;
            }
            if (migrationTarget.GetType() == typeof(VirtualNetwork))
            {
                VirtualNetworkProperties properties = new VirtualNetworkProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                properties.Bind((VirtualNetwork)migrationTarget, _TargetTreeView);
                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(Subnet))
            {
                SubnetProperties properties = new SubnetProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                properties.Bind((Subnet)migrationTarget, _TargetTreeView);
                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(StorageAccount))
            {
                StorageAccountProperties properties = new StorageAccountProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                properties.Bind((StorageAccount)migrationTarget, _TargetTreeView);
                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(AvailabilitySet))
            {
                AvailabilitySetProperties properties = new AvailabilitySetProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                properties.Bind((AvailabilitySet)migrationTarget, _TargetTreeView);
                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(PublicIp))
            {
                PublicIpProperties properties = new PublicIpProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                properties.Bind((PublicIp)migrationTarget, _TargetTreeView);
                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(RouteTable))
            {
                RouteTableProperties properties = new RouteTableProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                properties.Bind((RouteTable)migrationTarget, _TargetTreeView);
                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(NetworkInterface))
            {
                NetworkInterfaceProperties properties = new NetworkInterfaceProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                await properties.Bind((NetworkInterface)migrationTarget, _TargetTreeView);

                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(ResourceGroup))
            {
                ResourceGroupProperties properties = new ResourceGroupProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                await properties.Bind((ResourceGroup)migrationTarget, _TargetTreeView);

                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(LoadBalancer))
            {
                LoadBalancerProperties properties = new LoadBalancerProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                await properties.Bind((LoadBalancer)migrationTarget, _TargetTreeView);

                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(Disk))
            {
                DiskProperties properties = new DiskProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                await properties.Bind((Disk)migrationTarget, _TargetTreeView);

                this.PropertyDetailControl = properties;
            }
            //else if (migrationTarget.GetType() == typeof(VirtualMachineImage))
            //{
            //    VirtualMachineImageProperties properties = new VirtualMachineImageProperties();
            //    properties.PropertyChanged += Properties_PropertyChanged;
            //    properties.Bind(_TargetTreeView, (VirtualMachineImage)migrationTarget, _TargetTreeView);
            //    this.PropertyDetailControl = properties;
            //}

            Arm.ProviderResourceType targetProvider = this.TargetTreeView.GetTargetProvider(migrationTarget);
            if (targetProvider != null)
            {
                lblTargetAPIVersion.Visible = true;
                cmbApiVersions.Visible      = true;

                foreach (string apiVersion in targetProvider.ApiVersions)
                {
                    cmbApiVersions.Items.Add(apiVersion);
                }

                if (migrationTarget.ApiVersion != null && migrationTarget.ApiVersion != String.Empty)
                {
                    cmbApiVersions.SelectedIndex = cmbApiVersions.FindStringExact(migrationTarget.ApiVersion);
                }
            }

            this.TargetTreeView.LogProvider.WriteLog("PropertyPanel Bind", "End");
        }
Exemplo n.º 10
0
        public void Bind(Core.MigrationTarget migrationTarget, TargetTreeView targetTreeView, bool allowSelection = false, bool allowNone = false, List <Core.MigrationTarget> allowedResources = null)
        {
            _IsBinding = true;

            try
            {
                _MigrationTarget = migrationTarget;
                _TargetTreeView  = targetTreeView;

                if (allowSelection)
                {
                    cmbResources.Enabled    = allowSelection;
                    cmbResources.Visible    = allowSelection;
                    lblResourceText.Enabled = !cmbResources.Enabled;
                    lblResourceText.Visible = !cmbResources.Visible;

                    cmbResources.Items.Clear();
                    if (allowNone)
                    {
                        cmbResources.Items.Add("(None)");
                    }

                    if (allowedResources != null)
                    {
                        foreach (Core.MigrationTarget allowedMigrationTargetResource in allowedResources)
                        {
                            cmbResources.Items.Add(allowedMigrationTargetResource);
                        }
                    }

                    if (migrationTarget == null)
                    {
                        if (cmbResources.Items.Count > 0)
                        {
                            cmbResources.SelectedIndex = 0;
                        }
                    }
                    else
                    {
                        int itemIndex = -1;
                        if (cmbResources.Items.Contains(migrationTarget))
                        {
                            itemIndex = cmbResources.Items.IndexOf(migrationTarget);
                        }
                        else
                        {
                            itemIndex = cmbResources.Items.Add(migrationTarget);
                        }

                        if (itemIndex > -1)
                        {
                            cmbResources.SelectedIndex = itemIndex;
                        }
                    }
                }
                else
                {
                    cmbResources.Visible = false;

                    pictureBox1.Visible     = migrationTarget != null;
                    lblResourceText.Visible = migrationTarget != null;

                    if (migrationTarget == null)
                    {
                        lblResourceText.Text = "(None)";
                    }
                    else
                    {
                        lblResourceText.Text = migrationTarget.ToString();
                    }
                }

                if (migrationTarget == null)
                {
                    pictureBox1.Image = null;
                }
                else
                {
                    pictureBox1.Image = _TargetTreeView.ImageList.Images[Core.MigrationTarget.GetImageKey(migrationTarget.GetType())];
                }
            }
            finally
            {
                _IsBinding = false;
            }
        }
Exemplo n.º 11
0
 public ResourceSummary(Core.MigrationTarget migrationTarget, TargetTreeView targetTreeView)
 {
     InitializeComponent();
     Bind(migrationTarget, targetTreeView);
 }
Exemplo n.º 12
0
 private async Task treeViewSourceResourceManager1_AfterNodeChanged(Core.MigrationTarget sender)
 {
     await AfterNodeChanged?.Invoke(sender);
 }
Exemplo n.º 13
0
        public async Task Bind(Core.MigrationTarget migrationTarget)
        {
            if (this.TargetTreeView == null)
            {
                throw new ArgumentException("MigrationTarget Property must be provided.");
            }

            this.TargetTreeView.LogProvider.WriteLog("PropertyPanel Bind", "Start");

            this.Clear();
            this._MigrationTarget     = migrationTarget;
            this.ResourceText         = migrationTarget.ToString();
            this.ResourceImage        = imageList1.Images[migrationTarget.ImageKey];
            this.lblResourceType.Text = migrationTarget.FriendlyObjectName;

            if (migrationTarget.GetType() == typeof(VirtualNetworkGateway))
            {
                VirtualNetworkGatewayProperties properties = new VirtualNetworkGatewayProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                properties.Bind((VirtualNetworkGateway)migrationTarget, _TargetTreeView);
                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(LocalNetworkGateway))
            {
                LocalNetworkGatewayProperties properties = new LocalNetworkGatewayProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                properties.Bind((LocalNetworkGateway)migrationTarget, _TargetTreeView);
                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(VirtualNetworkGatewayConnection))
            {
                VirtualNetworkConnectionProperties properties = new VirtualNetworkConnectionProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                properties.Bind((VirtualNetworkGatewayConnection)migrationTarget, _TargetTreeView);
                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(VirtualMachine))
            {
                VirtualMachineProperties properties = new VirtualMachineProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                await properties.Bind((VirtualMachine)migrationTarget, _TargetTreeView);

                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(NetworkSecurityGroup))
            {
                NetworkSecurityGroupProperties properties = new NetworkSecurityGroupProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                properties.Bind((NetworkSecurityGroup)migrationTarget, _TargetTreeView);
                this.PropertyDetailControl = properties;
            }
            if (migrationTarget.GetType() == typeof(VirtualNetwork))
            {
                VirtualNetworkProperties properties = new VirtualNetworkProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                properties.Bind((VirtualNetwork)migrationTarget, _TargetTreeView);
                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(Subnet))
            {
                SubnetProperties properties = new SubnetProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                properties.Bind((Subnet)migrationTarget, _TargetTreeView);
                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(StorageAccount))
            {
                StorageAccountProperties properties = new StorageAccountProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                properties.Bind((StorageAccount)migrationTarget, _TargetTreeView);
                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(AvailabilitySet))
            {
                AvailabilitySetProperties properties = new AvailabilitySetProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                properties.Bind((AvailabilitySet)migrationTarget, _TargetTreeView);
                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(PublicIp))
            {
                PublicIpProperties properties = new PublicIpProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                properties.Bind((PublicIp)migrationTarget, _TargetTreeView);
                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(RouteTable))
            {
                RouteTableProperties properties = new RouteTableProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                properties.Bind((RouteTable)migrationTarget, _TargetTreeView);
                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(NetworkInterface))
            {
                NetworkInterfaceProperties properties = new NetworkInterfaceProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                await properties.Bind((NetworkInterface)migrationTarget, _TargetTreeView);

                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(ResourceGroup))
            {
                ResourceGroupProperties properties = new ResourceGroupProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                await properties.Bind((ResourceGroup)migrationTarget, _TargetTreeView);

                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(LoadBalancer))
            {
                LoadBalancerProperties properties = new LoadBalancerProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                await properties.Bind((LoadBalancer)migrationTarget, _TargetTreeView);

                this.PropertyDetailControl = properties;
            }
            else if (migrationTarget.GetType() == typeof(Disk))
            {
                DiskProperties properties = new DiskProperties();
                properties.PropertyChanged += Properties_PropertyChanged;
                await properties.Bind((Disk)migrationTarget, _TargetTreeView);

                this.PropertyDetailControl = properties;
            }
            //else if (migrationTarget.GetType() == typeof(VirtualMachineImage))
            //{
            //    VirtualMachineImageProperties properties = new VirtualMachineImageProperties();
            //    properties.PropertyChanged += Properties_PropertyChanged;
            //    properties.Bind(_TargetTreeView, (VirtualMachineImage)migrationTarget, _TargetTreeView);
            //    this.PropertyDetailControl = properties;
            //}

            this.TargetTreeView.LogProvider.WriteLog("PropertyPanel Bind", "End");
        }
Exemplo n.º 14
0
        private async Task availabilitySetSummary_AfterMigrationTargetChanged(ResourceSummary sender, Core.MigrationTarget selectedResource)
        {
            _VirtualMachine.TargetAvailabilitySet = (AvailabilitySet)selectedResource;

            this.RaisePropertyChangedEvent(_VirtualMachine);
        }
Exemplo n.º 15
0
        private async Task availabilitySetSummary_AfterMigrationTargetChanged(ResourceSummary sender, Core.MigrationTarget selectedResource)
        {
            _VirtualMachine.TargetAvailabilitySet = (AvailabilitySet)selectedResource;

            if (!_IsBinding)
            {
                PropertyChanged?.Invoke();
            }
        }