예제 #1
0
        public async Task <CastDetailsResponseModel> GetCastDetailsWithMovies(int id)
        {
            var cast = await _castRepository.GetByIdAsync(id);

            var respose = new CastDetailsResponseModel {
                Id          = cast.Id, Name = cast.Name, Gender = cast.Gender,
                ProfilePath = cast.ProfilePath, TmdbUrl = cast.TmdbUrl
            };

            var castMovies = new List <MovieResponseModel>();


            foreach (var m in cast.MovieCasts)
            {
                var movieResponse = new MovieResponseModel {
                    Id          = m.Movie.Id, Title = m.Movie.Title, PosterUrl = m.Movie.PosterUrl,
                    ReleaseDate = m.Movie.ReleaseDate.Value
                };

                castMovies.Add(movieResponse);
            }

            respose.Movies = castMovies;

            return(respose);
        }
예제 #2
0
        public async Task <CastDetailsResponseModel> GetCastDetailsWithMovies(int id)
        {
            var cast = await _castRepository.GetByIdAsync(id);

            var castDetailsResponseModel = new CastDetailsResponseModel();

            if (cast != null)
            {
                castDetailsResponseModel.Id          = cast.Id;
                castDetailsResponseModel.Gender      = cast.Gender;
                castDetailsResponseModel.Name        = cast.Name;
                castDetailsResponseModel.ProfilePath = cast.ProfilePath;
                castDetailsResponseModel.TmdbUrl     = cast.TmdbUrl;

                List <MovieResponseModel> movieResponseModels = new List <MovieResponseModel>();
                foreach (var movieCast in cast.MovieCasts)
                {
                    Movie movie    = movieCast.Movie;
                    var   response = new MovieResponseModel
                    {
                        Id = movie.Id, Title = movie.Title, PosterUrl = movie.PosterUrl, ReleaseDate = movie.ReleaseDate
                    };
                }
            }
            return(castDetailsResponseModel);
        }
예제 #3
0
        public async Task <IActionResult> GetDetailInformation(Guid id)
        {
            var movieDetail = await _movieManager.GetMovieDetail(id);

            var result = new MovieResponseModel(movieDetail);

            return(Ok(result));
        }
예제 #4
0
        public IActionResult GetById(int id)
        {
            var movie = _movieRepository.GetById(id);

            if (movie == null)
            {
                return(NotFound());
            }
            MovieResponseModel movieResponses = _mapper.Map <MovieResponseModel>(movie);

            return(Ok(movieResponses));
        }
예제 #5
0
        public async Task <MovieResponseModel> GetMovieById(int id)
        {
            var movie = await _movieRepository.GetByIdAsync(id);

            var oneMovie = new MovieResponseModel()
            {
                Id    = movie.Id,
                Title = movie.Title
            };

            return(oneMovie);
        }
예제 #6
0
        public IActionResult Update(MovieUpdateModel movieUpdateModel)
        {
            Movie movie = _mapper.Map <Movie>(movieUpdateModel);

            foreach (var actor in movieUpdateModel.Actors)
            {
                ActorMovie actor1 = new ActorMovie();
                actor1.Actor = _actorRepository.GetById(actor);
                movie.Actors.Add(actor1);
            }
            MovieResponseModel movieResponse = _mapper.Map <MovieResponseModel>(_movieRepository.Update(movie));

            return(Ok(movieResponse));
        }
예제 #7
0
        public async Task <MovieResponseModel> GetMoveById(int id)
        {
            var movie = await _repository.GetMovieById(id);

            var model = new MovieResponseModel
            {
                Id          = movie.Id,
                PosterUrl   = movie.PosterUrl,
                ReleaseDate = movie.ReleaseDate.Value,
                Title       = movie.Title
            };

            return(model);
        }
예제 #8
0
        /// <inheritdoc />
        public async Task <MovieResponseModel> GetMovieDetailsAsync(int id, CancellationToken cancellationToken)
        {
            cancellationToken.ThrowIfCancellationRequested();

            var movie = await GetMovieAsync(id, cancellationToken);

            var movieDetails = new MovieResponseModel
            {
                Id          = movie.Id,
                Title       = movie.Title,
                Description = movie.Description,
                ReleaseDate = movie.ReleaseDate
            };

            return(movieDetails);
        }
예제 #9
0
        public async Task <IEnumerable <MovieResponseModel> > GetMoviesByGenre(int genreId)
        {
            var genre = await _genreRepo.GetByIdAsync(genreId);

            var movies = await _repo.GetMoviesByGenre(m => m.Genres.Contains(genre));

            var res = new List <MovieResponseModel>();

            foreach (var movie in movies)
            {
                var t = new MovieResponseModel();
                PropertyCopy.Copy(t, movie);
                res.Add(t);
            }


            return(res);
        }
예제 #10
0
        public async Task <IEnumerable <MovieResponseModel> > GetMoviesByGenre(int genreId)
        {
            var movies = await _movieRepository.GetMoviesByGenre(genreId);

            var returnedModel = new List <MovieResponseModel>();

            foreach (var movie in movies)
            {
                var model = new MovieResponseModel
                {
                    Id          = movie.Id,
                    Title       = movie.Title,
                    PosterUrl   = movie.PosterUrl,
                    ReleaseDate = movie.ReleaseDate
                };
                returnedModel.Add(model);
            }
            return(returnedModel);
        }
예제 #11
0
        public IActionResult GetAll()
        {
            #region AutoMapper'siz
            List <MovieResponseModel> movieResponseModels = new List <MovieResponseModel>();
            foreach (var item in _movieRepository.GetAll())//Mapping
            {
                MovieResponseModel movieResponseModel = new MovieResponseModel
                {
                    Id          = item.Id,
                    Name        = item.Name,
                    Description = item.Description,
                    Length      = item.Length
                };
                movieResponseModels.Add(movieResponseModel);
            }
            #endregion

            //AutoMapper
            // IEnumerable<MovieResponseModel> movieResponses = _mapper.Map<IEnumerable<MovieResponseModel>>(_movieRepository.GetAll());
            return(Ok(movieResponseModels));
        }