public MovieComplete GetMovieDetail(int id) { var movie = _db.Movies.First(r => r.MovieID == id); var movieDetail = _db.MovieDetails.First(r => r.MovieID == id).MovieDetailDto(); var criticRatings = _db.CriticRatings.Where(r => r.MovieDetailID == movieDetail.MovieDetailID); var userRating = _db.UserRatings.FirstOrDefault(r => r.MovieDetailID == movieDetail.MovieDetailID)?.UserRatingDto(); var criticsites = criticRatings.Select(criticRating => criticRating.CriticSite); return(new MovieComplete { Movie = movie.MovieDto(), MovieDetail = movieDetail, UserRatings = userRating, CriticRatings = CriticRating.CriticRatingLsitDto(criticRatings).ToList(), CriticSites = CriticSite.CriticSiteLsitDto(criticsites).ToList() }); }
// GET: Movie/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var movie = _db.Movies.First(r => r.MovieID == id); var movieDetail = _db.MovieDetails.First(r => r.MovieID == id).MovieDetailDto(); var criticRatings = _db.CriticRatings.Where(r => r.MovieDetailID == movieDetail.MovieDetailID); var userRating = _db.UserRatings.FirstOrDefault(r => r.MovieDetailID == movieDetail.MovieDetailID)?.UserRatingDto(); var criticsites = criticRatings.Select(criticRating => criticRating.CriticSite); var ViewModel = new MovieDetailViewModel(new MovieComplete { Movie = movie.MovieDto(), MovieDetail = movieDetail, UserRatings = userRating, CriticRatings = CriticRating.CriticRatingLsitDto(criticRatings).ToList(), CriticSites = CriticSite.CriticSiteLsitDto(criticsites).ToList() }); return(View(ViewModel)); }