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); }
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); }
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); }
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); }
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); }