public static void UpdateSubscriptions(this PSCmdlet cmdlet, IDictionary <string, SubscriptionData> subscriptionsData, string subscriptionDataFile) { GlobalComponents globalComponents = GlobalComponents.Load(GlobalPathInfo.GlobalSettingsDirectory, subscriptionDataFile); globalComponents.SubscriptionManager.Subscriptions = subscriptionsData; globalComponents.SaveSubscriptions(); }
public static void SetDefaultSubscription(this PSCmdlet cmdlet, string subscriptionName, string subscriptionDataFile) { GlobalComponents globalComponents = GlobalComponents.Load(GlobalPathInfo.GlobalSettingsDirectory, subscriptionDataFile); if (globalComponents.Subscriptions.Count > 1) { var defaultSubscription = globalComponents.Subscriptions.Values.FirstOrDefault(subscription => subscription.IsDefault); if (defaultSubscription != null) { defaultSubscription.IsDefault = false; } if (subscriptionName != null) { defaultSubscription = globalComponents.Subscriptions.Values.First(subscription => subscription.SubscriptionName == subscriptionName); defaultSubscription.IsDefault = true; } else { defaultSubscription = globalComponents.Subscriptions.Values.First(); defaultSubscription.IsDefault = true; } globalComponents.SaveSubscriptions(); } }
private SubscriptionData SetCurrentAndDefaultSubscriptions(GlobalComponents globalComponents, string subscriptionsDataFile) { // Set a current and default subscription if possible if (globalComponents.Subscriptions != null && globalComponents.Subscriptions.Count > 0) { var currentDefaultSubscription = globalComponents.Subscriptions.Values.FirstOrDefault(subscription => subscription.IsDefault); if (currentDefaultSubscription == null) { // Sets the a new default subscription from the imported ones currentDefaultSubscription = globalComponents.Subscriptions.Values.First(); currentDefaultSubscription.IsDefault = true; } if (this.GetCurrentSubscription() == null) { this.SetCurrentSubscription(currentDefaultSubscription); } // Save subscriptions file to make sure publish settings subscriptions get merged // into the subscriptions data file and the default subscription is updated. globalComponents.SaveSubscriptions(subscriptionsDataFile); return(currentDefaultSubscription); } return(null); }
internal void ImportSubscriptionProcess(string publishSettingsFile, string subscriptionsDataFile) { GlobalComponents globalComponents = GlobalComponents.CreateFromPublishSettings( GlobalPathInfo.GlobalSettingsDirectory, subscriptionsDataFile, publishSettingsFile); // Set a current and default subscription if possible if (globalComponents.Subscriptions != null && globalComponents.Subscriptions.Count > 0) { var currentDefaultSubscription = globalComponents.Subscriptions.Values.FirstOrDefault(subscription => subscription.IsDefault) ?? globalComponents.Subscriptions.Values.First(); // Set the default subscription as current currentDefaultSubscription.IsDefault = true; this.SetCurrentSubscription(currentDefaultSubscription); // Save subscriptions file to make sure publish settings subscriptions get merged // into the subscriptions data file and the default subscription is updated. globalComponents.SaveSubscriptions(subscriptionsDataFile); this.SafeWriteObject(string.Format( Resources.DefaultAndCurrentSubscription, currentDefaultSubscription.SubscriptionName)); } }
public void GlobalComponentsLoadIgnoresPublishExisting() { var publishSettingsFile = Data.ValidPublishSettings.First(); var subscriptionDataFile = Data.ValidSubscriptionsData.First(); var outputSubscriptionDataFile = Path.Combine(Directory.GetParent(subscriptionDataFile).FullName, "outputNoPublish.xml"); File.Copy(subscriptionDataFile, outputSubscriptionDataFile); // Create with both an existing ouput subscription data file and the publish settings file GlobalComponents globalComponents = GlobalComponents.CreateFromPublishSettings(Data.AzureAppDir, outputSubscriptionDataFile, publishSettingsFile); Assert.AreEqual(5, globalComponents.Subscriptions.Count); // Remove one of the subscriptions from the publish settings file globalComponents.Subscriptions.Remove("TestSubscription1"); globalComponents.SaveSubscriptions(); // Load and make sure the subscription is still gone although it still is in the publish settings file globalComponents = GlobalComponents.Load(Data.AzureAppDir, outputSubscriptionDataFile); Assert.AreEqual(4, globalComponents.Subscriptions.Count); // Clean globalComponents.DeleteGlobalComponents(); }
private SubscriptionData SetCurrentAndDefaultSubscriptions(GlobalComponents globalComponents, string subscriptionsDataFile) { // Set a current and default subscription if possible if (globalComponents.Subscriptions != null && globalComponents.Subscriptions.Count > 0) { var currentDefaultSubscription = globalComponents.Subscriptions.Values.FirstOrDefault(subscription => subscription.IsDefault); if (currentDefaultSubscription == null) { // Sets the a new default subscription from the imported ones currentDefaultSubscription = globalComponents.Subscriptions.Values.First(); currentDefaultSubscription.IsDefault = true; } if (this.GetCurrentSubscription() == null) { this.SetCurrentSubscription(currentDefaultSubscription); } // Save subscriptions file to make sure publish settings subscriptions get merged // into the subscriptions data file and the default subscription is updated. globalComponents.SaveSubscriptions(subscriptionsDataFile); return currentDefaultSubscription; } return null; }