Example #1
0
        private SubscriptionData SetCurrentAndDefaultSubscriptions(GlobalSettingsManager globalSettingsManager, string subscriptionsDataFile)
        {
            // Set a current and default subscription if possible
            if (globalSettingsManager.Subscriptions != null && globalSettingsManager.Subscriptions.Count > 0)
            {
                var currentDefaultSubscription = globalSettingsManager.Subscriptions.Values.FirstOrDefault(subscription =>
                                                                                                           subscription.IsDefault);
                if (currentDefaultSubscription == null)
                {
                    // Sets the a new default subscription from the imported ones
                    currentDefaultSubscription           = globalSettingsManager.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.
                globalSettingsManager.SaveSubscriptions(subscriptionsDataFile);

                return(currentDefaultSubscription);
            }

            return(null);
        }
Example #2
0
        public void GlobalSettingsManagerLoadIgnoresPublishExisting()
        {
            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
            GlobalSettingsManager globalSettingsManager = GlobalSettingsManager.CreateFromPublishSettings(Data.AzureAppDir, outputSubscriptionDataFile, publishSettingsFile);

            Assert.AreEqual(6, globalSettingsManager.Subscriptions.Count);

            // Remove one of the subscriptions from the publish settings file
            globalSettingsManager.Subscriptions.Remove("TestSubscription1");
            globalSettingsManager.SaveSubscriptions();

            // Load and make sure the subscription is still gone although it still is in the publish settings file
            globalSettingsManager = GlobalSettingsManager.Load(Data.AzureAppDir, outputSubscriptionDataFile);
            Assert.AreEqual(5, globalSettingsManager.Subscriptions.Count);

            // Clean
            globalSettingsManager.DeleteGlobalSettingsManager();
        }
        private SubscriptionData SetCurrentAndDefaultSubscriptions(GlobalSettingsManager globalSettingsManager, string subscriptionsDataFile)
        {
            // Set a current and default subscription if possible
            if (globalSettingsManager.Subscriptions != null && globalSettingsManager.Subscriptions.Count > 0)
            {
                var currentDefaultSubscription = globalSettingsManager.Subscriptions.Values.FirstOrDefault(subscription =>
                    subscription.IsDefault);
                if (currentDefaultSubscription == null)
                {
                    // Sets the a new default subscription from the imported ones
                    currentDefaultSubscription = globalSettingsManager.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.
                globalSettingsManager.SaveSubscriptions(subscriptionsDataFile);

                return currentDefaultSubscription;
            }

            return null;
        }