// GET: Movies/Details/5 public async Task <IActionResult> Details(int?id) { if (id == null) { return(NotFound()); } var movie = await _context.Movie .SingleOrDefaultAsync(m => m.ID == id); var reviews = from m in _context.Review select m; if (movie == null) { return(NotFound()); } var movieReviewModel = new MovieReviewModel(); movieReviewModel.movie = movie; // movieReviewModel.mReview = new SelectList(await movieReviewQuery.Distinct().ToListAsync()); movieReviewModel.reviews = await reviews.ToListAsync(); return(View(movieReviewModel)); }
public async Task <IActionResult> EditReview(int id, MovieReviewModel review) { if (id != review.Id) { return(NotFound()); } if (ModelState.IsValid) { try { review.ModifiedDate = DateTime.Now; _context.Update(review); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ReviewDetailsExist(review.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(review)); }
// GET: Movies public async Task <IActionResult> Index(string movieGenre, string searchString) { IQueryable <string> genreQuery = from m in _context.Movie orderby m.Genre select m.Genre; var movies = from m in _context.Movie select m; //var movie = await _context.Movie //.SingleOrDefaultAsync(m => m.ID == id); var reviews = from m in _context.Review select m; if (!String.IsNullOrEmpty(searchString)) { movies = movies.Where(s => s.Title.Contains(searchString)); } if (!String.IsNullOrEmpty(movieGenre)) { movies = movies.Where(x => x.Genre == movieGenre); } var movieReviewVM = new MovieReview(); //movieReviewVM.movie = movie; movieReviewVM.mReview = new SelectList(await genreQuery.Distinct().ToListAsync()); movieReviewVM.review = await reviews.ToListAsync(); var movieGenreVM = new MovieGenreViewModel(); movieGenreVM.genres = new SelectList(await genreQuery.Distinct().ToListAsync()); movieGenreVM.movies = await movies.ToListAsync(); var movieReviewModelVM = new MovieReviewModel(); movieReviewModelVM.MGenre = movieGenreVM; movieReviewModelVM.MReview = movieReviewVM; return(View(movieReviewModelVM)); //return View(await movies.ToListAsync()); }
public async Task <IActionResult> SaveReview(int movieId, string review, float rate) { MovieReviewModel movieReviewModel = new MovieReviewModel(); var userId = this.User.FindFirstValue(ClaimTypes.NameIdentifier); movieReviewModel.UserId = userId; movieReviewModel.Rating = rate; movieReviewModel.MovieId = movieId; movieReviewModel.Review = review; movieReviewModel.CreatedDate = DateTime.Now; movieReviewModel.ModifiedDate = DateTime.Now; _context.Add(movieReviewModel); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(ReviewDetails), new { @id = movieId })); }
// GET: Movies/Details/5 public async Task <IActionResult> Details(int?id) { if (id == null) { return(NotFound()); } var movie = await _context.Movies .Include(m => m.Reviews) .FirstOrDefaultAsync(m => m.Id == id); if (movie == null) { return(NotFound()); } var model = new MovieReviewModel { Movie = movie, Id = movie.Id }; return(View(model)); }