예제 #1
0
        public IActionResult ViewMovie(int id)
        {
            // Finds and displays a Film based on the ID.  If no Film is found with a matching ID,
            // the User is returned to the Index action.
            Film film = _context.Films.Include(f => f.Media)
                        .Include(f => f.Audio)
                        .Include(f => f.User)
                        .ThenInclude(u => u.Films)
                        .SingleOrDefault(f => f.ID == id);

            if (film != null && _filmServices.IsFilmViewable(film, User))
            {
                List <FilmGenre>   filmGenres = _context.FilmGenres.Include(g => g.Genre).Where(f => f.FilmID == id).ToList();
                ViewMovieViewModel vm         = new ViewMovieViewModel(film, filmGenres);

                if (film.User != null)
                {
                    vm.FilmOwnerName       = film.User.UserName;
                    vm.OwnerCollectionSize = film.User.Films.Count;

                    if (!string.IsNullOrEmpty(film.User.ProfilePicture))
                    {
                        vm.OwnerProfilePicture = $"{GlobalVariables.ImagesBasePath}{film.User.UserName}/{film.User.ProfilePicture}";
                    }
                }

                return(View(vm));
            }
            return(RedirectToAction("Index"));
        }
예제 #2
0
        public IActionResult ViewSearchedMovie(int Id)
        {
            // This displays a closer look at an individual movie when it is selected.
            Movie searchedMovie = GetTMDbMovieInfo(Id);

            if (searchedMovie != null)
            {
                MovieConverter     movieConverter = new MovieConverter();
                Film               film           = movieConverter.ConvertToFilm(searchedMovie, _context.Genres.ToList());
                ViewMovieViewModel vm             = new ViewMovieViewModel(film, film.FilmGenres);

                return(View(vm));
            }

            return(RedirectToAction("Index"));
        }
예제 #3
0
        public IActionResult Movie(int id)
        {
            var movie = _movieDbService.GetById(id);

            if (movie == null)
            {
                return(View("Error", new ErrorViewModel(404, "Requested information could not be found")));
            }

            if (movie.Producer == null)
            {
                movie.Producer = new Producer();
            }

            var model = new ViewMovieViewModel
            {
                Movie = movie
            };

            return(View(model));
        }