// GET: Critic
        public async Task <IActionResult> Index(string criticName, string searchString)
        {
            // Use LINQ to get list of critics.
            IQueryable <string> criticQuery = from m in _context.Critic
                                              orderby m.FullName
                                              select m.FullName;

            var movies = from m in _context.Critic
                         select m;

            if (!string.IsNullOrEmpty(searchString))
            {
                movies = movies.Where(s => s.MovieName.Contains(searchString)).OrderBy(s => s.FullName).ThenBy(s => s.MovieName);
            }

            if (!string.IsNullOrEmpty(criticName))
            {
                movies = movies.Where(x => x.FullName == criticName).OrderBy(x => x.FullName).ThenBy(x => x.MovieName);
            }

            movies = movies.OrderBy(x => x.FullName).ThenBy(x => x.MovieName);

            var criticReviewVM = new CriticReviewViewModel
            {
                Critics             = new SelectList(await criticQuery.Distinct().ToListAsync()),
                MoviesRatedByCritic = await movies.ToListAsync()
            };

            return(View(criticReviewVM));
        }
Example #2
0
        public ActionResult Edit(CriticReviewViewModel criticReviewVM)
        {
            if (ModelState.IsValid)
            {
                CriticReview criticReview = db.CriticReviews.Find(criticReviewVM.CriticReviewId);
                criticReview.CriticFullName  = criticReviewVM.CriticFullName;
                criticReview.CriticUpdatedOn = DateTime.Now;
                criticReview.CriticScore     = criticReviewVM.CriticScore;
                criticReview.CriticRev       = criticReviewVM.CriticRev;
                db.Entry(criticReview).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            ViewBag.PostId = new SelectList(db.Games, "Id", "Title", criticReviewVM.GameId);

            return(View(criticReviewVM));
        }
Example #3
0
 public ActionResult Create(CriticReviewViewModel criticReviewVM)
 {
     if (ModelState.IsValid)
     {
         CriticReview criticReview = new CriticReview();
         criticReview.GameId          = criticReviewVM.GameId;
         criticReview.CriticFullName  = UserHelper.GetUserName(db.Users, User.Identity);
         criticReview.CriticCreatedOn = DateTime.Now;
         criticReview.CriticUpdatedOn = DateTime.Now;
         criticReview.CriticScore     = criticReviewVM.CriticScore;
         criticReview.CriticRev       = criticReviewVM.CriticRev;
         db.CriticReviews.Add(criticReview);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.PostId = new SelectList(db.Games, "Id", "Title", criticReviewVM.GameId);
     return(View());
 }