Exemple #1
0
        private List <GenreDto> MapMoviesGenres(Movie movieDto, MovieDetailDto movieDetailDto)
        {
            var result = new List <GenreDto>();

            foreach (var moviesGenres in movieDto.MoviesGenres)
            {
                result.Add(new GenreDto()
                {
                    Id = moviesGenres.GenreId, Name = moviesGenres.Genre.Name
                });
            }
            return(result);
        }
Exemple #2
0
        private List <ActorDto> MapMoviesActors(Movie movieDto, MovieDetailDto movieDetailDto)
        {
            var result = new List <ActorDto>();

            foreach (var moviesActors in movieDto.MoviesActors)
            {
                result.Add(new ActorDto()
                {
                    PersonId   = moviesActors.PersonId,
                    PersonName = moviesActors.Person.Name,
                    Character  = moviesActors.Character
                });
            }
            return(result);
        }
        public MovieDetailDto GetMovie(int id)
        {
            var movie = movieDbRepository.GetMovieDetailed(id);

            var movieDetails = new MovieDetailDto
            {
                Actors      = movie.MovieActors.Select(x => x.Actor),
                Genres      = movie.MovieGenres.Select(x => x.Genre),
                Name        = movie.Name,
                MovieId     = movie.MovieId,
                Rating      = movie.Ratings.Count > 0 ? movie.Ratings.Average(x => x.Score) : -1,
                Summary     = movie.Summary,
                Runtime     = movie.Runtime,
                ReleaseYear = movie.ReleaseYear,
                ImageUrl    = movie.ImageUrl
            };

            return(movieDetails);
        }
Exemple #4
0
        public async Task <ServiceResponse <MovieDetailDto> > GetMovieById(int id)
        {
            _logger.LogInformation($"[inService] finding by id: {id}");

            Movie movie = await _context.Movies
                          .Include(x => x.MoviesActors)
                          .ThenInclude(x => x.Person)
                          .Include(x => x.MoviesGenres).ThenInclude(x => x.Genre)
                          .FirstOrDefaultAsync(x => x.Id == id);

            if (movie == null)
            {
                _logger.LogInformation("[inService] Data not found.");
                return(ResponseResult.Failure <MovieDetailDto>($"id = {id} Not found."));
            }

            _logger.LogInformation("[inService] Data found.");

            MovieDetailDto movieDTO = _mapper.Map <MovieDetailDto>(movie);

            return(ResponseResult.Success(movieDTO));
        }
Exemple #5
0
 public DetailsModel(IMovieService movieService)
 {
     MovieService = movieService;
     MovieDetails = new MovieDetailDto();
 }
        public MovieDetailDto GetMovieDetail(int movieId)
        {
            var movieDetail = new MovieDetailDto();
            var movie       = (from m in _context.Movie
                               join d in _context.Director on m.DirectorId equals d.DirectorId
                               join w in _context.Writer on m.WriterId equals w.WriterId
                               join p in _context.Producer on m.ProductionId equals p.ProductionId
                               where m.MovieId == movieId
                               select new
            {
                MovieId = m.MovieId,
                ImdbId = m.ImdbId,
                MovieName = m.MovieName,
                DirectorName = d.Name,
                WriterName = w.Name,
                ProducerName = p.FirmName,
                Plot = m.Plot,
                Poster = m.Poster,
                ReleaseYear = m.Year,
                ImdbVotes = m.ImdbVotes,
                ImdbRating = m.ImdbRating
            }).FirstOrDefault();

            var genres = (from m in _context.Movie
                          join g in _context.Genre on m.MovieId equals g.MovieId
                          where m.MovieId == movieId
                          select g.GenreName).ToList();

            var cast = (from m in _context.Movie
                        join ma in _context.MovieActor on m.MovieId equals ma.MovieId
                        join a in _context.Actor on ma.ActorId equals a.ActorId
                        where m.MovieId == movieId
                        select a.Name).ToList();

            var languages = (from m in _context.Movie
                             join l in _context.Language on m.MovieId equals l.MovieId
                             where m.MovieId == movieId
                             select l.LanguageName).ToList();

            var media = (from m in _context.Movie
                         join g in _context.Media on m.MovieId equals g.MovieId
                         where m.MovieId == movieId
                         select g.MediaUrl).ToList();

            if (movie != null)
            {
                movieDetail.MovieId      = movie.MovieId;
                movieDetail.ImdbId       = movie.ImdbId;
                movieDetail.MovieName    = movie.MovieName;
                movieDetail.DirectorName = movie.DirectorName;
                movieDetail.WriterName   = movie.WriterName;
                movieDetail.ProducerName = movie.ProducerName;
                movieDetail.Plot         = movie.Plot;
                movieDetail.Poster       = movie.Poster;
                movieDetail.ReleaseYear  = movie.ReleaseYear;
                movieDetail.ImdbVotes    = movie.ImdbVotes;
                movieDetail.ImdbRating   = movie.ImdbRating;
                movieDetail.Genres       = genres;
                movieDetail.Cast         = cast;
                movieDetail.Languages    = languages;
                movieDetail.MediaUrls    = media;
            }

            return(movieDetail);
        }
Exemple #7
0
        public async Task <ActionResult <MovieDto> > CreateMovie(MovieDetailDto movie)
        {
            var newMovie = await handler.Create(movie);

            return(Ok(movie));
        }