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