public async Task Bind(AzureContext azureContext, Azure.UserControls.TargetTreeView targetTreeView, List <Azure.MigrationTarget.VirtualNetwork> virtualNetworks)
        {
            _AzureContext   = azureContext;
            _TargetTreeView = targetTreeView;
            _TargetVirualNetworksInMigration = virtualNetworks;

            try
            {
                if (_TargetTreeView.TargetResourceGroup != null && _TargetTreeView.TargetResourceGroup.TargetLocation != null)
                {
                    rbExistingARMVNet.Text = "Existing VNet in " + _TargetTreeView.TargetResourceGroup.TargetLocation.DisplayName;
                    List <Azure.Arm.VirtualNetwork> a = await _AzureContext.AzureRetriever.GetAzureARMVirtualNetworks(_TargetTreeView.TargetResourceGroup.TargetLocation);

                    this.ExistingARMVNetEnabled = a.Count() > 0;
                }
                else
                {
                    // Cannot use existing ARM VNet without Target Location
                    rbExistingARMVNet.Enabled = false;
                    rbExistingARMVNet.Visible = false;
                }
            }
            catch (Exception exc)
            {
                _AzureContext.LogProvider.WriteLog("VirtualMachineProperties.Bind", exc.Message);
                this.ExistingARMVNetEnabled = false;
            }
        }
Beispiel #2
0
        public async Task Bind(TargetTreeView targetTreeView)
        {
            _TargetTreeView = targetTreeView;

            try
            {
                _IsBinding = true;

                if (_TargetTreeView.TargetResourceGroup != null && _TargetTreeView.TargetResourceGroup.TargetLocation != null)
                {
                    int existingPublicIpCount = targetTreeView.GetExistingPublicIpsInTargetLocation().Count();

                    rbExistingARMPublicIp.Text = "Existing Public IP(s) in " + _TargetTreeView.TargetResourceGroup.TargetLocation.DisplayName;
                    if (existingPublicIpCount == 0)
                    {
                        rbExistingARMPublicIp.Text = "No " + rbExistingARMPublicIp.Text;
                    }

                    this.ExistingARMPublicIpEnabled = existingPublicIpCount > 0;
                }
                else
                {
                    // Cannot use existing ARM Public IP without Target Location
                    rbExistingARMPublicIp.Enabled = false;
                    rbExistingARMPublicIp.Text    = "<Set Target Resource Group Location>";
                }
            }
            catch (Exception exc)
            {
                targetTreeView.LogProvider.WriteLog("VirtualMachineProperties.Bind", exc.Message);
                this.ExistingARMPublicIpEnabled = false;
            }
            finally
            {
                _IsBinding = false;
            }
        }