예제 #1
0
        public async Task <MovieDetailsResponseModel> GetMovieById(int id)
        {
            var movie = await _movieRepository.GetByIdAsync(id);

            // map movie entity to MovieDetailsResponseModel
            var movieDetails = new MovieDetailsResponseModel
            {
                Id               = movie.Id,
                Title            = movie.Title,
                Overview         = movie.Overview,
                Tagline          = movie.Tagline,
                Budget           = movie.Budget,
                Revenue          = movie.Revenue,
                ImdbUrl          = movie.ImdbUrl,
                TmdbUrl          = movie.TmdbUrl,
                PosterUrl        = movie.PosterUrl,
                BackdropUrl      = movie.BackdropUrl,
                OriginalLanguage = movie.OriginalLanguage,
                ReleaseDate      = movie.ReleaseDate,
                RunTime          = movie.RunTime,
                Price            = movie.Price,
            };
            // map list of GenreModel
            List <GenreResponseModel> genreResponseModels = new List <GenreResponseModel>();

            foreach (var genre in movie.Genres)
            {
                var curGenreResponseModel = new GenreResponseModel
                {
                    Id   = genre.Id,
                    Name = genre.Name
                };
                genreResponseModels.Add(curGenreResponseModel);
            }

            // map list of CastResponseModel
            List <CastResponseModel> castResponseModels = new List <CastResponseModel>();

            foreach (var moviecast in movie.MovieCasts)
            {
                var cast = moviecast.Cast;
                var curCastResponseModel = new CastResponseModel
                {
                    Id          = cast.Id,
                    Name        = cast.Name,
                    Gender      = cast.Gender,
                    TmdbUrl     = cast.TmdbUrl,
                    ProfilePath = cast.ProfilePath,
                    Character   = moviecast.Character
                };
                castResponseModels.Add(curCastResponseModel);
            }

            movieDetails.Genres = genreResponseModels;
            movieDetails.Casts  = castResponseModels;

            return(movieDetails);
        }
예제 #2
0
        public async Task <GenreResponseModel> GetGenreById(int id)
        {
            var genre = await _genreRepository.GetByIdAsync(id);

            var theGenre = new GenreResponseModel
            {
                Id   = genre.Id,
                Name = genre.Name,
            };

            return(theGenre);
        }
예제 #3
0
        public async Task <IEnumerable <GenreResponseModel> > GetAllGenres()
        {
            var genres = await _genreRepository.ListAllAsync();

            List <GenreResponseModel> genreResponseModels = new List <GenreResponseModel>();

            foreach (var genre in genres)
            {
                var curGenreResponseModel = new GenreResponseModel
                {
                    Id   = genre.Id,
                    Name = genre.Name
                };
                genreResponseModels.Add(curGenreResponseModel);
            }

            return(genreResponseModels);
        }