Azure.ApiManagement.IngestTool.ViewModels.ApiManagementIngestViewModel.GetApiManagementProducts C# (CSharp) Method

GetApiManagementProducts() private method

private GetApiManagementProducts ( ) : System.Threading.Tasks.Task
return System.Threading.Tasks.Task
        private async Task GetApiManagementProducts()
        {
            if (Wizard.Pages.First(x => x.Legend == Resources.Page2Legend).IsSelected)
            {
                using (Context.StartBusyIndicator(Resources.WaitMessageRetrievingProductList))
                {
                    IAzureRMUserAccountSubscriptionContext sub = _selectedSubscription;
                    if (sub == null)
                    {
                        return;
                    }

                    Token = await sub.GetAuthenticationHeaderAsync(true);
                    Token = Token.Substring("Bearer ".Length);

                    ApiManagementClient = new ApiManagementClient(
                        new TokenCloudCredentials(SelectedSubscription.Subscription.SubscriptionId, Token)
                    );

                    var productResponse = await ApiManagementClient.Products.ListAsync(
                            ResourceUtilities.GetResourceGroupFromResourceId(SelectedApiManagementInstance.ResourceId),
                            SelectedApiManagementInstance.Name,
                            new QueryParameters()
                            );

                    var products = new List<ApiManagementProduct>();

                    foreach (var product in productResponse.Result.Values)
                    {
                        products.Add(new ApiManagementProduct
                        {
                            Name = product.Name,
                            Id = product.Id
                        });
                    }

                    _dispatcher.Invoke(() =>
                    {
                        Products.Clear();
                        products.ForEach(p => Products.Add(p));
                    });
                }
            }
        }
    }