public void Bind(VirtualNetwork targetVirtualNetwork, TargetTreeView targetTreeView) { try { this.IsBinding = true; _VirtualNetwork = targetVirtualNetwork; _TargetTreeView = targetTreeView; if (targetVirtualNetwork.SourceVirtualNetwork != null) { if (targetVirtualNetwork.SourceVirtualNetwork.GetType() == typeof(Azure.Asm.VirtualNetwork)) { Azure.Asm.VirtualNetwork asmVirtualNetwork = (Azure.Asm.VirtualNetwork)targetVirtualNetwork.SourceVirtualNetwork; lblVNetName.Text = asmVirtualNetwork.Name; } else if (targetVirtualNetwork.SourceVirtualNetwork.GetType() == typeof(Azure.Arm.VirtualNetwork)) { Azure.Arm.VirtualNetwork armVirtualNetwork = (Azure.Arm.VirtualNetwork)targetVirtualNetwork.SourceVirtualNetwork; lblVNetName.Text = armVirtualNetwork.Name; } } else { lblVNetName.Text = "(None)"; } txtVirtualNetworkName.Text = targetVirtualNetwork.TargetName; dgvAddressSpaces.DataSource = targetVirtualNetwork.AddressPrefixes.Select(x => new { AddressPrefix = x }).ToList(); } finally { this.IsBinding = false; } }
private async void cmbExistingArmVNets_SelectedIndexChanged(object sender, EventArgs e) { cmbExistingArmSubnet.Items.Clear(); if (cmbExistingArmVNets.SelectedItem != null) { if (cmbExistingArmVNets.SelectedItem.GetType() == typeof(Azure.MigrationTarget.VirtualNetwork)) { Azure.MigrationTarget.VirtualNetwork selectedNetwork = (Azure.MigrationTarget.VirtualNetwork)cmbExistingArmVNets.SelectedItem; foreach (Azure.MigrationTarget.Subnet subnet in selectedNetwork.TargetSubnets) { if (!subnet.IsGatewaySubnet) { cmbExistingArmSubnet.Items.Add(subnet); } } } else if (cmbExistingArmVNets.SelectedItem.GetType() == typeof(Azure.Arm.VirtualNetwork)) { Azure.Arm.VirtualNetwork selectedNetwork = (Azure.Arm.VirtualNetwork)cmbExistingArmVNets.SelectedItem; foreach (Azure.Arm.Subnet subnet in selectedNetwork.Subnets) { if (!subnet.IsGatewaySubnet) { cmbExistingArmSubnet.Items.Add(subnet); } } } } PropertyChanged(); }
public void Bind(MigrationTarget.VirtualNetwork targetVirtualNetwork) { _VirtualNetwork = targetVirtualNetwork; if (targetVirtualNetwork.SourceVirtualNetwork != null) { if (targetVirtualNetwork.SourceVirtualNetwork.GetType() == typeof(Azure.Asm.VirtualNetwork)) { Azure.Asm.VirtualNetwork asmVirtualNetwork = (Azure.Asm.VirtualNetwork)targetVirtualNetwork.SourceVirtualNetwork; lblVNetName.Text = asmVirtualNetwork.Name; } else if (targetVirtualNetwork.SourceVirtualNetwork.GetType() == typeof(Azure.Arm.VirtualNetwork)) { Azure.Arm.VirtualNetwork armVirtualNetwork = (Azure.Arm.VirtualNetwork)targetVirtualNetwork.SourceVirtualNetwork; lblVNetName.Text = armVirtualNetwork.Name; } } else { lblVNetName.Text = "(None)"; } txtVirtualNetworkName.Text = targetVirtualNetwork.TargetName; dgvAddressSpaces.DataSource = targetVirtualNetwork.AddressPrefixes.Select(x => new { AddressPrefix = x }).ToList(); }
private async void rbExistingARMVNet_CheckedChanged(object sender, EventArgs e) { RadioButton rb = (RadioButton)sender; if (rb.Checked) { #region Add "In MigAz Migration" Virtual Networks to cmbExistingArmVNets cmbExistingArmVNets.Items.Clear(); cmbExistingArmSubnet.Items.Clear(); foreach (Azure.Arm.VirtualNetwork armVirtualNetwork in await _AzureContext.AzureRetriever.GetAzureARMVirtualNetworks()) { if (armVirtualNetwork.HasNonGatewaySubnet) { cmbExistingArmVNets.Items.Add(armVirtualNetwork); } } #endregion #region Seek Target VNet and Subnet as ComboBox SelectedItems if (_TargetNetworkInterface != null && _TargetNetworkInterface.TargetNetworkInterfaceIpConfigurations.Count() > 0) { if (_TargetNetworkInterface.TargetNetworkInterfaceIpConfigurations[0].TargetVirtualNetwork != null) { // Attempt to match target to list items for (int i = 0; i < cmbExistingArmVNets.Items.Count; i++) { Azure.Arm.VirtualNetwork listVirtualNetwork = (Azure.Arm.VirtualNetwork)cmbExistingArmVNets.Items[i]; if (listVirtualNetwork.ToString() == _TargetNetworkInterface.TargetNetworkInterfaceIpConfigurations[0].TargetVirtualNetwork.ToString()) { cmbExistingArmVNets.SelectedIndex = i; break; } } } if (_TargetNetworkInterface.TargetNetworkInterfaceIpConfigurations[0].TargetSubnet != null) { // Attempt to match target to list items for (int i = 0; i < cmbExistingArmSubnet.Items.Count; i++) { Azure.Arm.Subnet listSubnet = (Azure.Arm.Subnet)cmbExistingArmSubnet.Items[i]; if (listSubnet.ToString() == _TargetNetworkInterface.TargetNetworkInterfaceIpConfigurations[0].TargetSubnet.ToString()) { cmbExistingArmSubnet.SelectedIndex = i; break; } } } } #endregion } await PropertyChanged(); }
private async void cmbExistingArmVNets_SelectedIndexChanged(object sender, EventArgs e) { TreeNode asmTreeNode = (TreeNode)_VirtualMachineNode.Tag; Azure.Asm.VirtualMachine asmVirtualMachine = (Azure.Asm.VirtualMachine)asmTreeNode.Tag; cmbExistingArmSubnet.Items.Clear(); if (rbVNetInMigration.Checked) { Azure.Asm.VirtualNetwork selectedAsmVirtualNetwork = (Azure.Asm.VirtualNetwork)cmbExistingArmVNets.SelectedItem; foreach (Azure.Asm.Subnet asmSubnet in selectedAsmVirtualNetwork.Subnets) { if (asmSubnet.Name != ArmConst.GatewaySubnetName) { cmbExistingArmSubnet.Items.Add(asmSubnet); } } if (asmVirtualMachine.TargetSubnet != null) { foreach (Azure.Asm.Subnet listSubnet in cmbExistingArmSubnet.Items) { if (listSubnet.Id == asmVirtualMachine.TargetSubnet.Id) { cmbExistingArmSubnet.SelectedItem = listSubnet; } } } } else { Azure.Arm.VirtualNetwork selectedArmVirtualNetwork = (Azure.Arm.VirtualNetwork)cmbExistingArmVNets.SelectedItem; foreach (Azure.Arm.Subnet armSubnet in selectedArmVirtualNetwork.Subnets) { if (armSubnet.Name != ArmConst.GatewaySubnetName) { cmbExistingArmSubnet.Items.Add(armSubnet); } } if (asmVirtualMachine.TargetSubnet != null) { foreach (Azure.Arm.Subnet listSubnet in cmbExistingArmSubnet.Items) { if (listSubnet.Id == asmVirtualMachine.TargetSubnet.Id) { cmbExistingArmSubnet.SelectedItem = listSubnet; } } } } await PropertyChanged(); }
internal static void SetTargetSubnets(ExportArtifacts artifacts) { string x = "{\r\n \"name\": \"DummyVNet\",\r\n \"id\": \"/subscriptions/" + SubscriptionId + "/resourceGroups/dummygroup-rg/providers/Microsoft.Network/virtualNetworks/DummyVNet\",\r\n \"etag\": \"W/\\\"1fa3c5bd-1cf4-4bb9-9839-96ece3b3776d\\\"\",\r\n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"b8b6b69d-2480-436a-886b-ac3ef4061253\",\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [\r\n {\r\n \"name\": \"subnet01\",\r\n \"id\": \"/subscriptions/" + SubscriptionId + "/resourceGroups/dummygroup-rg/providers/Microsoft.Network/virtualNetworks/DummyVNet/subnets/subnet01\",\r\n \"etag\": \"W/\\\"1f53c5be-1cf4-4bb9-9839-96ece3b3776d\\\"\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"addressPrefix\": \"10.0.0.0/24\",\r\n\"applicationGatewayIPConfigurations\": [\r\n {\r\n \"id\": \"/subscriptions/" + SubscriptionId + "/resourceGroups/dummygroup-rg/providers/Microsoft.Network/applicationGateways/appgwtest/gatewayIPConfigurations/gatewayIP01\"\r\n }\r\n ]\r\n }\r\n }\r\n ]\r\n }\r\n}"; JObject webRequestResultJson = JObject.Parse(x); Azure.Arm.VirtualNetwork armVirtualNetwork = new Azure.Arm.VirtualNetwork(webRequestResultJson); foreach (Azure.Asm.VirtualMachine asmVirtualMachine in artifacts.VirtualMachines) { if (asmVirtualMachine.TargetVirtualNetwork == null) { asmVirtualMachine.TargetVirtualNetwork = armVirtualNetwork; } if (asmVirtualMachine.TargetSubnet == null) { asmVirtualMachine.TargetSubnet = armVirtualNetwork.Subnets[0]; } } }
private void txtVirtualNetworkName_TextChanged(object sender, EventArgs e) { TextBox txtSender = (TextBox)sender; TreeNode asmVirtualNetworkNode = (TreeNode)_ARMVirtualNetowrkNode.Tag; if (asmVirtualNetworkNode.Tag.GetType() == typeof(Azure.Asm.VirtualNetwork)) { Azure.Asm.VirtualNetwork asmVirtualNetwork = (Azure.Asm.VirtualNetwork)asmVirtualNetworkNode.Tag; asmVirtualNetwork.TargetName = txtSender.Text.Trim(); _ARMVirtualNetowrkNode.Text = asmVirtualNetwork.GetFinalTargetName(); } else if (asmVirtualNetworkNode.Tag.GetType() == typeof(Azure.Arm.VirtualNetwork)) { Azure.Arm.VirtualNetwork armVirtualNetwork = (Azure.Arm.VirtualNetwork)asmVirtualNetworkNode.Tag; armVirtualNetwork.TargetName = txtSender.Text.Trim(); _ARMVirtualNetowrkNode.Text = armVirtualNetwork.GetFinalTargetName(); } PropertyChanged(); }
public void Bind(TreeNode armVirtualNetworkNode) { _ARMVirtualNetowrkNode = armVirtualNetworkNode; TreeNode asmVirtualNetworkNode = (TreeNode)_ARMVirtualNetowrkNode.Tag; if (asmVirtualNetworkNode.Tag.GetType() == typeof(Azure.Asm.VirtualNetwork)) { Azure.Asm.VirtualNetwork asmVirtualNetwork = (Azure.Asm.VirtualNetwork)asmVirtualNetworkNode.Tag; lblVNetName.Text = asmVirtualNetwork.Name.ToString(); txtVirtualNetworkName.Text = asmVirtualNetwork.TargetName; dgvAddressSpaces.DataSource = asmVirtualNetwork.AddressPrefixes.Select(x => new { AddressPrefix = x }).ToList(); } else if (asmVirtualNetworkNode.Tag.GetType() == typeof(Azure.Arm.VirtualNetwork)) { Azure.Arm.VirtualNetwork asmVirtualNetwork = (Azure.Arm.VirtualNetwork)asmVirtualNetworkNode.Tag; lblVNetName.Text = asmVirtualNetwork.Name.ToString(); txtVirtualNetworkName.Text = asmVirtualNetwork.TargetName; dgvAddressSpaces.DataSource = asmVirtualNetwork.AddressPrefixes.Select(x => new { AddressPrefix = x }).ToList(); } }
private async Task <TreeNode> AddASMNodeToARMTree(TreeNode asmTreeNode) { TreeNode targetResourceGroupNode = SeekARMChildTreeNode(treeTargetARM.Nodes, _TargetResourceGroup.Name, _TargetResourceGroup.Name, _TargetResourceGroup, true); Type tagType = asmTreeNode.Tag.GetType(); if (tagType == typeof(Azure.Asm.VirtualNetwork)) { Azure.Asm.VirtualNetwork asmVirtualNetwork = (Azure.Asm.VirtualNetwork)asmTreeNode.Tag; TreeNode virtualNetworksNode = SeekARMChildTreeNode(targetResourceGroupNode.Nodes, "Virtual Networks", "Virtual Networks", "Virtual Networks", true); TreeNode virtualNetworkNode = SeekARMChildTreeNode(virtualNetworksNode.Nodes, asmTreeNode.Name, asmVirtualNetwork.GetFinalTargetName(), asmTreeNode, true); foreach (Azure.Asm.Subnet asmSubnet in asmVirtualNetwork.Subnets) { // Property dialog not made available for Gateway Subnet if (!asmSubnet.IsGatewaySubnet) { TreeNode subnetNode = SeekARMChildTreeNode(virtualNetworkNode.Nodes, asmSubnet.Name, asmSubnet.Name, asmSubnet, true); } } targetResourceGroupNode.ExpandAll(); return(virtualNetworkNode); } else if (tagType == typeof(Azure.Asm.StorageAccount)) { Azure.Asm.StorageAccount asmStorageAccount = (Azure.Asm.StorageAccount)asmTreeNode.Tag; TreeNode storageAccountsNode = SeekARMChildTreeNode(targetResourceGroupNode.Nodes, "Storage Accounts", "Storage Accounts", "Storage Accounts", true); TreeNode storageAccountNode = SeekARMChildTreeNode(storageAccountsNode.Nodes, asmTreeNode.Name, asmStorageAccount.GetFinalTargetName(), asmTreeNode, true); targetResourceGroupNode.ExpandAll(); return(storageAccountNode); } else if (tagType == typeof(Azure.Asm.VirtualMachine)) { Azure.Asm.VirtualMachine asmVirtualMachine = (Azure.Asm.VirtualMachine)asmTreeNode.Tag; TreeNode availabilitySets = SeekARMChildTreeNode(targetResourceGroupNode.Nodes, "Availability Sets", "Availability Sets", "Availability Sets", true); TreeNode availabilitySet = SeekARMChildTreeNode(availabilitySets.Nodes, asmVirtualMachine.TargetAvailabilitySet.TargetName, asmVirtualMachine.TargetAvailabilitySet.GetFinalTargetName(), asmVirtualMachine.TargetAvailabilitySet, true); TreeNode virtualMachineNode = SeekARMChildTreeNode(availabilitySet.Nodes, asmVirtualMachine.RoleName, asmVirtualMachine.RoleName, asmTreeNode, true); foreach (Azure.Asm.Disk asmDataDisk in asmVirtualMachine.DataDisks) { TreeNode dataDiskNode = SeekARMChildTreeNode(virtualMachineNode.Nodes, asmDataDisk.DiskName, asmDataDisk.DiskName, asmDataDisk, true); } foreach (Azure.Asm.NetworkInterface asmNetworkInterface in asmVirtualMachine.NetworkInterfaces) { TreeNode dataDiskNode = SeekARMChildTreeNode(virtualMachineNode.Nodes, asmNetworkInterface.Name, asmNetworkInterface.Name, asmNetworkInterface, true); } targetResourceGroupNode.ExpandAll(); return(virtualMachineNode); } else if (tagType == typeof(Azure.Asm.NetworkSecurityGroup)) { Azure.Asm.NetworkSecurityGroup asmNetworkSecurityGroup = (Azure.Asm.NetworkSecurityGroup)asmTreeNode.Tag; TreeNode networkSecurityGroups = SeekARMChildTreeNode(targetResourceGroupNode.Nodes, "Network Security Groups", "Network Security Groups", "Network Security Groups", true); TreeNode networkSecurityGroupNode = SeekARMChildTreeNode(networkSecurityGroups.Nodes, asmNetworkSecurityGroup.Name, asmNetworkSecurityGroup.Name, asmTreeNode, true); targetResourceGroupNode.ExpandAll(); return(networkSecurityGroupNode); } else if (tagType == typeof(Azure.Arm.VirtualNetwork)) { Azure.Arm.VirtualNetwork armVirtualNetwork = (Azure.Arm.VirtualNetwork)asmTreeNode.Tag; TreeNode virtualNetworksNode = SeekARMChildTreeNode(targetResourceGroupNode.Nodes, "Virtual Networks", "Virtual Networks", "Virtual Networks", true); TreeNode virtualNetworkNode = SeekARMChildTreeNode(virtualNetworksNode.Nodes, asmTreeNode.Name, armVirtualNetwork.GetFinalTargetName(), asmTreeNode, true); foreach (Azure.Arm.Subnet armSubnet in armVirtualNetwork.Subnets) { // Property dialog not made available for Gateway Subnet if (!armSubnet.IsGatewaySubnet) { TreeNode subnetNode = SeekARMChildTreeNode(virtualNetworkNode.Nodes, armSubnet.Name, armSubnet.Name, armSubnet, true); } } targetResourceGroupNode.ExpandAll(); return(virtualNetworkNode); } else if (tagType == typeof(Azure.Arm.StorageAccount)) { Azure.Arm.StorageAccount armStorageAccount = (Azure.Arm.StorageAccount)asmTreeNode.Tag; TreeNode storageAccountsNode = SeekARMChildTreeNode(targetResourceGroupNode.Nodes, "Storage Accounts", "Storage Accounts", "Storage Accounts", true); TreeNode storageAccountNode = SeekARMChildTreeNode(storageAccountsNode.Nodes, asmTreeNode.Name, armStorageAccount.GetFinalTargetName(), asmTreeNode, true); targetResourceGroupNode.ExpandAll(); return(storageAccountNode); } else if (tagType == typeof(Azure.Arm.VirtualMachine)) { Azure.Arm.VirtualMachine armVirtualMachine = (Azure.Arm.VirtualMachine)asmTreeNode.Tag; TreeNode virtualMachineNode = null; if (armVirtualMachine.TargetAvailabilitySet != null) { TreeNode availabilitySets = SeekARMChildTreeNode(targetResourceGroupNode.Nodes, "Availability Sets", "Availability Sets", "Availability Sets", true); TreeNode availabilitySet = SeekARMChildTreeNode(availabilitySets.Nodes, armVirtualMachine.TargetAvailabilitySet.TargetName, armVirtualMachine.TargetAvailabilitySet.GetFinalTargetName(), armVirtualMachine.TargetAvailabilitySet, true); virtualMachineNode = SeekARMChildTreeNode(availabilitySet.Nodes, armVirtualMachine.Name, armVirtualMachine.Name, asmTreeNode, true); } else { virtualMachineNode = SeekARMChildTreeNode(targetResourceGroupNode.Nodes, armVirtualMachine.Name, armVirtualMachine.Name, asmTreeNode, true); } foreach (Azure.Arm.Disk armDataDisk in armVirtualMachine.DataDisks) { TreeNode dataDiskNode = SeekARMChildTreeNode(virtualMachineNode.Nodes, armDataDisk.Name, armDataDisk.Name, armDataDisk, true); } foreach (Azure.Arm.NetworkInterfaceCard asmNetworkInterface in armVirtualMachine.NetworkInterfaces) { TreeNode dataDiskNode = SeekARMChildTreeNode(virtualMachineNode.Nodes, asmNetworkInterface.Name, asmNetworkInterface.Name, asmNetworkInterface, true); } targetResourceGroupNode.ExpandAll(); return(virtualMachineNode); } else if (tagType == typeof(Azure.Arm.NetworkSecurityGroup)) { Azure.Arm.NetworkSecurityGroup armNetworkSecurityGroup = (Azure.Arm.NetworkSecurityGroup)asmTreeNode.Tag; TreeNode networkSecurityGroups = SeekARMChildTreeNode(targetResourceGroupNode.Nodes, "Network Security Groups", "Network Security Groups", "Network Security Groups", true); TreeNode networkSecurityGroupNode = SeekARMChildTreeNode(networkSecurityGroups.Nodes, armNetworkSecurityGroup.Name, armNetworkSecurityGroup.Name, asmTreeNode, true); targetResourceGroupNode.ExpandAll(); return(networkSecurityGroupNode); } else { throw new Exception("Unhandled Node Type in AddASMNodeToARMTree: " + tagType); } }
private async void rbExistingARMVNet_CheckedChanged(object sender, EventArgs e) { RadioButton rb = (RadioButton)sender; if (rb.Checked) { #region Add "Existing in Subscription / Location" ARM Virtual Networks to cmbExistingArmVNets cmbExistingArmVNets.Items.Clear(); cmbExistingArmSubnet.Items.Clear(); if (_AzureContext != null && _AzureContext.AzureRetriever != null && _TargetTreeView.TargetResourceGroup != null && _TargetTreeView.TargetResourceGroup.TargetLocation != null) { foreach (Azure.Arm.VirtualNetwork armVirtualNetwork in await _AzureContext.AzureRetriever.GetAzureARMVirtualNetworks(_TargetTreeView.TargetResourceGroup.TargetLocation)) { if (armVirtualNetwork.HasNonGatewaySubnet) { cmbExistingArmVNets.Items.Add(armVirtualNetwork); } } } #endregion #region Seek Target VNet and Subnet as ComboBox SelectedItems if (_NetworkInterfaceTarget != null) { if (_NetworkInterfaceTarget.TargetVirtualNetwork != null) { // Attempt to match target to list items for (int i = 0; i < cmbExistingArmVNets.Items.Count; i++) { Azure.Arm.VirtualNetwork listVirtualNetwork = (Azure.Arm.VirtualNetwork)cmbExistingArmVNets.Items[i]; if (listVirtualNetwork.ToString() == _NetworkInterfaceTarget.TargetVirtualNetwork.ToString()) { cmbExistingArmVNets.SelectedIndex = i; break; } } } if (_NetworkInterfaceTarget.TargetSubnet != null) { // Attempt to match target to list items for (int i = 0; i < cmbExistingArmSubnet.Items.Count; i++) { Azure.Arm.Subnet listSubnet = (Azure.Arm.Subnet)cmbExistingArmSubnet.Items[i]; if (listSubnet.ToString() == _NetworkInterfaceTarget.TargetSubnet.ToString()) { cmbExistingArmSubnet.SelectedIndex = i; break; } } } } #endregion } if (PropertyChanged != null) { PropertyChanged(); } }
private async Task AutoSelectDependencies(TreeNode selectedNode) { if ((app.Default.AutoSelectDependencies) && (selectedNode.Checked) && (selectedNode.Tag != null)) { if (selectedNode.Tag.GetType() == typeof(Azure.Arm.VirtualMachine)) { Azure.Arm.VirtualMachine armVirtualMachine = (Azure.Arm.VirtualMachine)selectedNode.Tag; #region process virtual network if (armVirtualMachine.VirtualNetwork != null) { foreach (TreeNode treeNode in treeSource.Nodes.Find(armVirtualMachine.VirtualNetwork.Name, true)) { if ((treeNode.Tag != null) && (treeNode.Tag.GetType() == typeof(Azure.Arm.VirtualNetwork))) { if (!treeNode.Checked) { treeNode.Checked = true; } } } } #endregion #region OS Disk Storage Account foreach (TreeNode treeNode in treeSource.Nodes.Find(armVirtualMachine.OSVirtualHardDisk.StorageAccountName, true)) { if ((treeNode.Tag != null) && (treeNode.Tag.GetType() == typeof(Azure.Arm.StorageAccount))) { if (!treeNode.Checked) { treeNode.Checked = true; } } } #endregion #region Data Disk(s) Storage Account(s) foreach (Disk dataDisk in armVirtualMachine.DataDisks) { foreach (TreeNode treeNode in treeSource.Nodes.Find(dataDisk.StorageAccountName, true)) { if ((treeNode.Tag != null) && (treeNode.Tag.GetType() == typeof(Azure.Arm.StorageAccount))) { if (!treeNode.Checked) { treeNode.Checked = true; } } } } #endregion #region Network Security Group if (armVirtualMachine.NetworkSecurityGroup != null) { foreach (TreeNode treeNode in treeSource.Nodes.Find(armVirtualMachine.NetworkSecurityGroup.Name, true)) { if ((treeNode.Tag != null) && (treeNode.Tag.GetType() == typeof(Azure.Asm.NetworkSecurityGroup))) { if (!treeNode.Checked) { treeNode.Checked = true; } } } } #endregion } else if (selectedNode.Tag.GetType() == typeof(Azure.Arm.VirtualNetwork)) { Azure.Arm.VirtualNetwork armVirtualNetwork = (Azure.Arm.VirtualNetwork)selectedNode.Tag; foreach (Azure.Arm.Subnet armSubnet in armVirtualNetwork.Subnets) { if (armSubnet.NetworkSecurityGroup != null) { foreach (TreeNode treeNode in treeSource.Nodes.Find(armSubnet.NetworkSecurityGroup.Name, true)) { if ((treeNode.Tag != null) && (treeNode.Tag.GetType() == typeof(Azure.Arm.NetworkSecurityGroup))) { if (!treeNode.Checked) { treeNode.Checked = true; } } } } } } } StatusProvider.UpdateStatus("Ready"); }