Microsoft.Azure.ServiceManagemenet.Common.ProfileClient.LoadAccountTenants C# (CSharp) Method

LoadAccountTenants() private method

private LoadAccountTenants ( AzureAccount account, AzureEnvironment environment, SecureString password, ShowDialog promptBehavior ) : string[]
account Microsoft.Azure.Commands.Common.Authentication.Models.AzureAccount
environment Microsoft.Azure.Commands.Common.Authentication.Models.AzureEnvironment
password System.Security.SecureString
promptBehavior ShowDialog
return string[]
        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();
            }
        }