Beispiel #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);
        }
        public async Task <MovieDetailsResponseModel> GetMovieById(int id)
        {
            var movie = await _movieRepository.GetByIdAsync(id);

            List <CastResponseModel> casts = new List <CastResponseModel>();

            foreach (var cast in movie.MovieCasts)
            {
                var castResonse = new CastResponseModel
                {
                    Id          = cast.Cast.Id,
                    Name        = cast.Cast.Name,
                    Gender      = cast.Cast.Gender,
                    ProfilePath = cast.Cast.ProfilePath,
                    TmdbUrl     = cast.Cast.TmdbUrl,
                    Character   = cast.Character
                };
                casts.Add(castResonse);
            }
            List <Genre> genres = new List <Genre>();

            foreach (var genre in movie.MovieGenres)
            {
                var g = new Genre
                {
                    Id   = genre.Genre.Id,
                    Name = genre.Genre.Name
                };
                genres.Add(g);
            }
            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,
                Casts            = casts,
                Genres           = genres
            };

            return(movieDetails);
        }
        public async Task <CastResponseModel> GetCastAsync(int id)
        {
            var cast = await _castRepository.GetByIdAsync(id);

            var response = new CastResponseModel()
            {
                Id          = cast.Id,
                Name        = cast.Name,
                Gender      = cast.Gender,
                ProfilePath = cast.ProfilePath,
                TmdbUrl     = cast.TmdbUrl,
            };

            return(response);
        }
Beispiel #4
0
        public async Task <CastResponseModel> GetCastById(int id)
        {
            var cast = await _castRepository.GetByIdAsync(id);

            var theCast = new CastResponseModel
            {
                Id          = cast.Id,
                Name        = cast.Name,
                Gender      = cast.Gender,
                TmdbUrl     = cast.TmdbUrl,
                ProfilePath = cast.ProfilePath
            };

            return(theCast);
        }
Beispiel #5
0
        public async Task <CastResponseModel> GetCastDetailByMovieId(int id)
        {
            var cast = await _castRepository.GetByIdAsync(id);

            if (cast == null)
            {
                throw new NotFoundException("Cast", id);
            }

            var response = new CastResponseModel
            {
                Id          = cast.Id,
                Name        = cast.Name,
                ProfilePath = cast.ProfilePath,
                TmdbUrl     = cast.TmdbUrl
            };

            return(response);
        }
Beispiel #6
0
        public async Task <CastResponseModel> GetCastDetails(int id)
        {
            var cast = await _castRepository.GetById(id);

            if (cast == null)
            {
                throw new NotFoundException("Cast", id);
            }

            var castDetails = new CastResponseModel
            {
                Name        = cast.Name,
                Gender      = cast.Gender,
                TmdbUrl     = cast.TmdbUrl,
                ProfilePath = cast.ProfilePath,
            };

            return(castDetails);
        }
Beispiel #7
0
        public async Task <IEnumerable <CastResponseModel> > GetCastByMovieId(int id)
        {
            var casts = await _castRepository.GetCastsByMovieId(id);

            var responses = new List <CastResponseModel>();

            foreach (var cast in casts)
            {
                //response.Add(new CastResponseModel {
                //    CastId=cast.Id,
                //    ProfileUrl=cast.ProfilePath,
                //    CastName=cast.Name,
                //    Character=
                //});
                var response = new CastResponseModel
                {
                    CastId     = cast.Id,
                    ProfileUrl = cast.ProfilePath,
                    CastName   = cast.Name,
                };
                responses.Add(response);
            }
            return(responses);
        }