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)); }
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")); }