private string[] LoadAccountTenants(AzureAccount account, AzureEnvironment environment, SecureString password, ShowDialog promptBehavior)
{
var commonTenantToken = AzureSession.AuthenticationFactory.Authenticate(account, environment,
AuthenticationFactory.CommonAdTenant, password, promptBehavior);
using (SubscriptionClient SubscriptionClient = AzureSession.ClientFactory
.CreateCustomClient<SubscriptionClient>(
new TokenCloudCredentials(commonTenantToken.AccessToken),
environment.GetEndpointAsUri(AzureEnvironment.Endpoint.ServiceManagement)))
{
var subscriptionListResult = SubscriptionClient.Subscriptions.List();
return subscriptionListResult.Subscriptions.Where(s => s.SubscriptionStatus == WindowsAzure.Subscriptions.Models.SubscriptionStatus.Active ||
s.SubscriptionStatus == WindowsAzure.Subscriptions.Models.SubscriptionStatus.Warned)
.Select(s => s.ActiveDirectoryTenantId)
.Where(s => !string.IsNullOrWhiteSpace(s))
.Distinct().ToArray();
}
}