public AzureSubscription RemoveSubscription(Guid id)
{
if (!Profile.Subscriptions.ContainsKey(id))
{
throw new ArgumentException(string.Format(Resources.SubscriptionIdNotFoundMessage, id), "id");
}
var subscription = Profile.Subscriptions[id];
if (subscription.IsPropertySet(AzureSubscription.Property.Default))
{
Debug.Assert(Profile.DefaultSubscription == subscription);
WriteWarningMessage(Resources.RemoveDefaultSubscription);
}
Profile.Subscriptions.Remove(id);
// Remove this subscription from its associated AzureAccounts
List<AzureAccount> accounts = ListSubscriptionAccounts(id);
foreach (AzureAccount account in accounts)
{
account.RemoveSubscription(id);
if (!account.IsPropertySet(AzureAccount.Property.Subscriptions))
{
Profile.Accounts.Remove(account.Id);
}
}
return subscription;
}