public async Task <ActionResult> Subscriptions(UserSubscripionViewModel model) { try { if (model == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (ModelState.IsValid) { var db = new ApplicationDbContext(); db.UserSubscriptions.Add(new Entities.UserSubscription { UserId = model.UserId, SubscriptionId = model.SubscriptionId, StartDate = DateTime.Now, EndDate = DateTime.MaxValue }); await db.SaveChangesAsync(); } } catch { } return(RedirectToAction("Subscriptions", "Account", new { UserId = model.UserId })); }
public async Task <ActionResult> Subscriptions(string userId) { if (userId == null || userId.Equals(string.Empty)) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var model = new UserSubscripionViewModel(); var db = new ApplicationDbContext(); model.UserSubscriptions = await (from us in db.UserSubscriptions join s in db.Subscriptions on us.SubscriptionId equals s.Id where us.UserId.Equals(userId) select new UserSubscriptionModel { Id = us.SubscriptionId, StartDate = us.StartDate, EndDate = us.EndDate, Description = s.Description, RegistrationCode = s.RegistrationCode, Title = s.Title }).ToListAsync(); var ids = model.UserSubscriptions.Select(us => us.Id); model.Subscriptions = await db.Subscriptions.Where( s => !ids.Contains(s.Id)).ToListAsync(); model.DisableDropDown = model.Subscriptions.Count.Equals(0); model.UserId = userId; return(View(model)); }