private async void treeSource_AfterCheck(object sender, TreeViewEventArgs e) { if (_sourceCascadeNode == null) { _sourceCascadeNode = e.Node; if (e.Node.Checked) { await MigAzTreeView.RecursiveCheckToggleDown(e.Node, e.Node.Checked); MigAzTreeView.FillUpIfFullDown(e.Node); treeSource.SelectedNode = e.Node; await AutoSelectDependencies(e.Node); } else { await MigAzTreeView.RecursiveCheckToggleUp(e.Node, e.Node.Checked); await MigAzTreeView.RecursiveCheckToggleDown(e.Node, e.Node.Checked); } _sourceCascadeNode = null; _SelectedNodes = this.GetSelectedNodes(treeSource); // todo UpdateExportItemsCount(); this.TemplateGenerator.UpdateArtifacts(GetArmArtifacts()); } }
private async void treeASM_AfterCheck(object sender, TreeViewEventArgs e) { if (_SourceAsmNode == null) { _SourceAsmNode = e.Node; } if (e.Node.Checked) { await AutoSelectDependencies(e.Node); } if (e.Node.Tag != null) { if (e.Node.Tag.GetType() == typeof(Azure.Asm.VirtualMachine)) { Azure.Asm.VirtualMachine asmVirtualMachine = (Azure.Asm.VirtualMachine)e.Node.Tag; if (asmVirtualMachine.TargetVirtualNetwork == null) { asmVirtualMachine.TargetVirtualNetwork = await AzureContextSourceASM.AzureRetriever.GetAzureAsmVirtualNetwork(asmVirtualMachine.VirtualNetworkName); if (asmVirtualMachine.TargetVirtualNetwork != null) { foreach (Azure.Asm.Subnet asmSubnect in asmVirtualMachine.TargetVirtualNetwork.Subnets) { if (asmSubnect.Name == asmVirtualMachine.SubnetName) { asmVirtualMachine.TargetSubnet = asmSubnect; } } } } if (asmVirtualMachine.OSVirtualHardDisk.TargetStorageAccount == null) { asmVirtualMachine.OSVirtualHardDisk.TargetStorageAccount = await AzureContextSourceASM.AzureRetriever.GetAzureAsmStorageAccount(asmVirtualMachine.OSVirtualHardDisk.StorageAccountName); } foreach (Azure.Asm.Disk asmDisk in asmVirtualMachine.DataDisks) { if (asmDisk.TargetStorageAccount == null) { asmDisk.TargetStorageAccount = await AzureContextSourceASM.AzureRetriever.GetAzureAsmStorageAccount(asmDisk.StorageAccountName); } } } } TreeNode resultUpdateARMTree = await UpdateARMTree(e.Node); if (_SourceAsmNode != null && _SourceAsmNode == e.Node) { if (e.Node.Checked) { await MigAzTreeView.RecursiveCheckToggleDown(e.Node, e.Node.Checked); MigAzTreeView.FillUpIfFullDown(e.Node); treeSourceASM.SelectedNode = e.Node; } else { await MigAzTreeView.RecursiveCheckToggleUp(e.Node, e.Node.Checked); await MigAzTreeView.RecursiveCheckToggleDown(e.Node, e.Node.Checked); } _SelectedNodes = this.GetSelectedNodes(treeSourceASM); UpdateExportItemsCount(); await this.TemplateGenerator.UpdateArtifacts(GetAsmArtifacts()); _SourceAsmNode = null; if (resultUpdateARMTree != null) { treeTargetARM.SelectedNode = resultUpdateARMTree; } } }
private async Task _AzureContextSourceASM_AfterAzureSubscriptionChange(AzureContext sender) { ResetForm(); try { if (sender.AzureSubscription != null) { if (_AzureContextTargetARM.AzureSubscription == null) { await _AzureContextTargetARM.SetSubscriptionContext(_AzureContextSourceASM.AzureSubscription); } azureLoginContextViewerARM.Enabled = true; this.TemplateGenerator.SourceSubscription = _AzureContextSourceASM.AzureSubscription; this.TemplateGenerator.TargetSubscription = _AzureContextTargetARM.AzureSubscription; #region Bind Source ASM Objects TreeNode subscriptionNodeASM = new TreeNode(sender.AzureSubscription.Name); treeSourceASM.Nodes.Add(subscriptionNodeASM); subscriptionNodeASM.Expand(); List <Azure.Asm.VirtualNetwork> asmVirtualNetworks = await _AzureContextSourceASM.AzureRetriever.GetAzureAsmVirtualNetworks(); foreach (Azure.Asm.VirtualNetwork asmVirtualNetwork in asmVirtualNetworks) { if (asmVirtualNetwork.HasNonGatewaySubnet) { TreeNode parentNode = MigAzTreeView.GetDataCenterTreeViewNode(subscriptionNodeASM, asmVirtualNetwork.Location, "Virtual Networks"); TreeNode tnVirtualNetwork = new TreeNode(asmVirtualNetwork.Name); tnVirtualNetwork.Name = asmVirtualNetwork.Name; tnVirtualNetwork.Tag = asmVirtualNetwork; parentNode.Nodes.Add(tnVirtualNetwork); parentNode.Expand(); } } foreach (Azure.Asm.StorageAccount asmStorageAccount in await _AzureContextSourceASM.AzureRetriever.GetAzureAsmStorageAccounts()) { TreeNode parentNode = MigAzTreeView.GetDataCenterTreeViewNode(subscriptionNodeASM, asmStorageAccount.GeoPrimaryRegion, "Storage Accounts"); TreeNode tnStorageAccount = new TreeNode(asmStorageAccount.Name); tnStorageAccount.Name = tnStorageAccount.Text; tnStorageAccount.Tag = asmStorageAccount; parentNode.Nodes.Add(tnStorageAccount); parentNode.Expand(); } List <CloudService> asmCloudServices = await _AzureContextSourceASM.AzureRetriever.GetAzureAsmCloudServices(); foreach (CloudService asmCloudService in asmCloudServices) { foreach (Azure.Asm.VirtualMachine asmVirtualMachine in asmCloudService.VirtualMachines) { TreeNode parentNode = MigAzTreeView.GetDataCenterTreeViewNode(subscriptionNodeASM, asmCloudService.Location, "Cloud Services"); TreeNode[] cloudServiceNodeSearch = parentNode.Nodes.Find(asmCloudService.ServiceName, false); TreeNode cloudServiceNode = null; if (cloudServiceNodeSearch.Count() == 1) { cloudServiceNode = cloudServiceNodeSearch[0]; } if (cloudServiceNode == null) { cloudServiceNode = new TreeNode(asmCloudService.ServiceName); cloudServiceNode.Name = asmCloudService.ServiceName; cloudServiceNode.Tag = asmCloudService; parentNode.Nodes.Add(cloudServiceNode); parentNode.Expand(); } TreeNode virtualMachineNode = new TreeNode(asmVirtualMachine.RoleName); virtualMachineNode.Name = asmVirtualMachine.RoleName; virtualMachineNode.Tag = asmVirtualMachine; cloudServiceNode.Nodes.Add(virtualMachineNode); cloudServiceNode.Expand(); } } foreach (Azure.Asm.NetworkSecurityGroup asmNetworkSecurityGroup in await _AzureContextSourceASM.AzureRetriever.GetAzureAsmNetworkSecurityGroups()) { TreeNode parentNode = MigAzTreeView.GetDataCenterTreeViewNode(subscriptionNodeASM, asmNetworkSecurityGroup.Location, "Network Security Groups"); TreeNode tnStorageAccount = new TreeNode(asmNetworkSecurityGroup.Name); tnStorageAccount.Name = tnStorageAccount.Text; tnStorageAccount.Tag = asmNetworkSecurityGroup; parentNode.Nodes.Add(tnStorageAccount); parentNode.Expand(); } subscriptionNodeASM.ExpandAll(); #endregion #region Bind Source ARM Objects TreeNode subscriptionNodeARM = new TreeNode("ARM Resources Coming Soon!!"); // TreeNode subscriptionNodeARM = new TreeNode(sender.AzureSubscription.Name); treeSourceARM.Nodes.Add(subscriptionNodeARM); subscriptionNodeARM.Expand(); //foreach (ResourceGroup armResourceGroup in await _AzureContextSourceASM.AzureRetriever.GetAzureARMResourceGroups()) //{ //} //foreach (Azure.Arm.AvailabilitySet armAvailabilitySet in await _AzureContextSourceASM.AzureRetriever.GetAzureARMAvailabilitySets()) //{ //} //List<Azure.Arm.VirtualNetwork> armVirtualNetworks = await _AzureContextSourceASM.AzureRetriever.GetAzureARMVirtualNetworks(); //foreach (Azure.Arm.VirtualNetwork armVirtualNetwork in armVirtualNetworks) //{ // if (armVirtualNetwork.HasNonGatewaySubnet) // { // TreeNode parentNode = MigAzTreeView.GetDataCenterTreeViewNode(subscriptionNodeARM, armVirtualNetwork.Location, "Virtual Networks"); // TreeNode tnVirtualNetwork = new TreeNode(armVirtualNetwork.Name); // tnVirtualNetwork.Name = armVirtualNetwork.Name; // tnVirtualNetwork.Tag = armVirtualNetwork; // parentNode.Nodes.Add(tnVirtualNetwork); // parentNode.Expand(); // } //} //foreach (Azure.Arm.StorageAccount armStorageAccount in await _AzureContextSourceASM.AzureRetriever.GetAzureARMStorageAccounts()) //{ // TreeNode parentNode = MigAzTreeView.GetDataCenterTreeViewNode(subscriptionNodeARM, armStorageAccount.PrimaryLocation, "Storage Accounts"); // TreeNode tnStorageAccount = new TreeNode(armStorageAccount.Name); // tnStorageAccount.Name = tnStorageAccount.Text; // tnStorageAccount.Tag = armStorageAccount; // parentNode.Nodes.Add(tnStorageAccount); // parentNode.Expand(); //} //foreach (Azure.Arm.VirtualMachine armVirtualMachine in await _AzureContextSourceASM.AzureRetriever.GetAzureArmVirtualMachines()) //{ // TreeNode parentNode = MigAzTreeView.GetDataCenterTreeViewNode(subscriptionNodeARM, armVirtualMachine.Location, "Virtual Machines"); // TreeNode tnVirtualMachine = new TreeNode(armVirtualMachine.Name); // tnVirtualMachine.Name = tnVirtualMachine.Text; // tnVirtualMachine.Tag = armVirtualMachine; // parentNode.Nodes.Add(tnVirtualMachine); // parentNode.Expand(); //} subscriptionNodeARM.ExpandAll(); #endregion await ReadSubscriptionSettings(sender.AzureSubscription); treeSourceASM.Enabled = true; //treeSourceARM.Enabled = true; treeTargetARM.Enabled = true; } } catch (Exception exc) { UnhandledExceptionDialog unhandledException = new UnhandledExceptionDialog(LogProvider, exc); unhandledException.ShowDialog(); } StatusProvider.UpdateStatus("Ready"); }
private async Task _AzureContextARM_AfterAzureSubscriptionChange(AzureContext sender) { ResetForm(); if (sender.AzureSubscription != null) { //btnAzureContextARM.Enabled = true; TreeNode subscriptionNode = new TreeNode(sender.AzureSubscription.Name); treeSource.Nodes.Add(subscriptionNode); subscriptionNode.Expand(); foreach (ResourceGroup armResourceGroup in await _AzureContextARM.AzureRetriever.GetAzureARMResourceGroups()) { } List <VirtualNetwork> armVirtualNetworks = await _AzureContextARM.AzureRetriever.GetAzureARMVirtualNetworks(); foreach (VirtualNetwork armVirtualNetwork in armVirtualNetworks) { if (armVirtualNetwork.HasNonGatewaySubnet) { TreeNode parentNode = MigAzTreeView.GetDataCenterTreeViewNode(subscriptionNode, armVirtualNetwork.Location, "Virtual Networks"); TreeNode tnVirtualNetwork = new TreeNode(armVirtualNetwork.Name); tnVirtualNetwork.Name = armVirtualNetwork.Name; tnVirtualNetwork.Tag = armVirtualNetwork; parentNode.Nodes.Add(tnVirtualNetwork); parentNode.Expand(); } } foreach (StorageAccount armStorageAccount in await _AzureContextARM.AzureRetriever.GetAzureARMStorageAccounts()) { TreeNode parentNode = MigAzTreeView.GetDataCenterTreeViewNode(subscriptionNode, armStorageAccount.PrimaryLocation, "Storage Accounts"); TreeNode tnStorageAccount = new TreeNode(armStorageAccount.Name); tnStorageAccount.Name = tnStorageAccount.Text; tnStorageAccount.Tag = armStorageAccount; parentNode.Nodes.Add(tnStorageAccount); parentNode.Expand(); } foreach (VirtualMachine armVirtualMachine in await _AzureContextARM.AzureRetriever.GetAzureArmVirtualMachines()) { TreeNode parentNode = MigAzTreeView.GetDataCenterTreeViewNode(subscriptionNode, armVirtualMachine.Location, "Virtual Machines"); TreeNode tnVirtualMachine = new TreeNode(armVirtualMachine.Name); tnVirtualMachine.Name = tnVirtualMachine.Text; tnVirtualMachine.Tag = armVirtualMachine; parentNode.Nodes.Add(tnVirtualMachine); parentNode.Expand(); } subscriptionNode.ExpandAll(); // if (app.Default.SaveSelection) // { // lblStatus.Text = "BUSY: Reading saved selection"; // Application.DoEvents(); // _saveSelectionProvider.Read(Guid.Parse(subscriptionid),ref lvwVirtualNetworks, ref lvwStorageAccounts, ref lvwVirtualMachines); // } treeSource.Enabled = true; } StatusProvider.UpdateStatus("Ready"); }