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