Beispiel #1
0
        public IActionResult Subscription()
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(RedirectToAction("Login", "Account"));
            }

            SubscriptionType        defaultType       = db.SubscriptionTypes.FirstOrDefault(s => s.Name == "Бесплатно");
            List <SubscriptionType> subscriptionTypes = db.SubscriptionTypes
                                                        .OrderBy(t => t.Price)
                                                        .Except(new SubscriptionType[] { defaultType })
                                                        .ToList();
            List <string> subscriptionTypeNames = subscriptionTypes.Select(x => x.Name).ToList();

            SubscriptionForm form = new SubscriptionForm
            {
                SubscriptionTypes = new SelectList(subscriptionTypeNames)
            };
            SubscriptionInputViewModel sivm = new SubscriptionInputViewModel
            {
                SubscriptionForm  = form,
                SubscriptionTypes = subscriptionTypes
            };

            return(View(sivm));
        }
Beispiel #2
0
        public IActionResult Subscription(SubscriptionInputViewModel sivm)
        {
            Subscription newSubscription = new Subscription
            {
                SubscriberId = User.GetUserId(),
                Type         = db.SubscriptionTypes.FirstOrDefault(s => s.Name == sivm.SubscriptionForm.SelectedType),
                Duration     = sivm.SubscriptionForm.Duration
            };
            Subscription oldSubscription = UserHelper.GetUserSubscription(User, db);

            if (oldSubscription == null)
            {
                db.Subscriptions.Add(newSubscription);
            }
            else
            {
                db.Subscriptions.Remove(oldSubscription);
                db.Subscriptions.Add(newSubscription);
            }
            db.SaveChanges();
            return(RedirectToAction("Index", "Home"));
        }