public void DeleteSubscription(Subscription subscription)
        {
            this.ValidateSubscriptionId(subscription);

            var sub = subscriptions.FirstOrDefault(x => x.SubscriptionId == subscription.SubscriptionId);

            if (sub != null)
            {
                subscriptions.Remove(sub);
            }
        }
        public void UpdateSubscription(Subscription subscription)
        {
            this.ValidateSubscriptionId(subscription);

            var sub = (from s in subscriptions where s.SubscriptionId == subscription.SubscriptionId select s).FirstOrDefault();

            if (sub != null)
            {
                sub.AdminId = subscription.AdminId;
                sub.SubscriptionName = subscription.SubscriptionName;
                sub.CoAdminIds = subscription.CoAdminIds;
            }
        }
        public void AddSubscription(Subscription subscription)
        {
            this.ValidateSubscriptionId(subscription);

            // Add subscription to in memory collection of subscriptions
            // Actual resource provider can save this in their backend store
            subscriptions.Add(new Subscription
            {
                SubscriptionId = subscription.SubscriptionId,
                SubscriptionName = subscription.SubscriptionName,
                AdminId = subscription.AdminId,
                CoAdminIds = subscription.CoAdminIds
            });
        }
        /// <summary>
        /// Validates the subscription id.
        /// </summary>
        /// <param name="subscriptionId">The subscription id.</param>
        /// <returns>Subscription Guid</returns>
        private void ValidateSubscriptionId(Subscription subscription)
        {
            if (subscription == null || string.IsNullOrWhiteSpace(subscription.SubscriptionId))
            {
                throw Utility.ThrowResponseException(this.Request, System.Net.HttpStatusCode.BadRequest, ErrorMessages.EmptySubscription);
            }

            Guid id;
            bool parseGuid = Guid.TryParse(subscription.SubscriptionId, out id);

            if (!parseGuid)
            {
                string message = string.Format(CultureInfo.CurrentCulture, ErrorMessages.InvalidSubscriptionFormat, subscription.SubscriptionId);
                throw Utility.ThrowResponseException(this.Request, System.Net.HttpStatusCode.BadRequest, message);
            }
        }