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));
});
}
}
}
}