public IActionResult ActivateSubscription([FromRoute] Guid subscriptionId, [FromBody] ActivatePayload activatePayload)
        {
            if (_cache.TryGetValue(subscriptionId, out ResolvedSubscription cacheEntry))
            {
                var resolvedSubscription = cacheEntry as ResolvedSubscription;

                if (activatePayload.PlanId == resolvedSubscription.PlanId &&
                    activatePayload.Quantity == resolvedSubscription.Quantity)
                {
                    var subscription = new Subscription
                    {
                        Id          = resolvedSubscription.SubscriptionId,
                        Name        = resolvedSubscription.SubscriptionName,
                        PlanId      = resolvedSubscription.PlanId,
                        Quantity    = resolvedSubscription.Quantity,
                        Beneficiary = resolvedSubscription.TenantId,
                        OfferId     = resolvedSubscription.OfferId
                    };

                    _dbContext.Subscriptions.Add(subscription);

                    _dbContext.SaveChanges();

                    return(Ok());
                }
            }

            return(BadRequest());
        }
示例#2
0
        public ActionResult Create([Bind(Include = "ID,Name,SubscriptionCost,TotalSubscriptionCost")] UserSubscription userSubscription)
        {
            if (ModelState.IsValid)
            {
                db.UserSubscriptions.Add(userSubscription);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(userSubscription));
        }
        public ActionResult Create([Bind(Include = "WeatherStationCode,Gender,Initials,FirstNames,Prefix,LastName,EmailAddress")] Subscription subscription)
        {
            subscription.Initials = subscription.Initials?.ToUpper();
            for (int i = subscription.Initials?.Length ?? 0; i > 0; i--)
            {
                subscription.Initials = subscription.Initials.Insert(i, ".");
            }

            if (ModelState.IsValid)
            {
                db.Subscriptions.Add(subscription);
                db.SaveChanges();
                return(RedirectToAction("Index", "Home"));
            }

            return(View(subscription));
        }