public async Task <MovieCardResponseModel> UpdateMovie(MovieUpdatedRequestModel movieUpdatedRequestModel) { var dbMovie = await _movieRepository.GetByIdAsync(movieUpdatedRequestModel.Id); if (dbMovie == null) { throw new NotFoundException("Movie Not exists"); } var movie = new Movie() { Id = dbMovie.Id, Title = movieUpdatedRequestModel.Title == null ? dbMovie.Title: movieUpdatedRequestModel.Title, Budget = movieUpdatedRequestModel.Budget == 0 ? dbMovie.Budget : movieUpdatedRequestModel.Budget, Revenue = movieUpdatedRequestModel.Revenue == 0 ? dbMovie.Revenue : movieUpdatedRequestModel.Revenue, }; var updateMovie = await _movieRepository.UpdateAsync(movie); var updatedMovieResponse = new MovieCardResponseModel { Id = updateMovie.Id, Budget = updateMovie.Budget, Title = updateMovie.Title, Revenue = updateMovie.Revenue, }; return(updatedMovieResponse); }
public async Task <MovieCardResponseModel> GetMovieCardById(int id) { var movie = await _movieRepository.GetByIdAsync(id); var genreList = new List <GenreResponseModel>(); foreach (var genre in movie.Genres) { var theGenre = await _genreRepository.GetByIdAsync(genre.Id); genreList.Add(new GenreResponseModel { Id = theGenre.Id, Name = theGenre.Name, }); } var castList = new List <CastDetailResponseModel>(); foreach (var cast in movie.MovieCasts) { var theCast = await _castRepository.GetByIdAsync(cast.CastId); castList.Add(new CastDetailResponseModel { Id = theCast.Id, Name = theCast.Name, ProfilePath = theCast.ProfilePath, Character = cast.Character, }); } var theMovie = new MovieCardResponseModel { Id = movie.Id, Budget = movie.Budget, Title = movie.Title, BackdropUrl = movie.BackdropUrl, PosterUrl = movie.PosterUrl, Tagline = movie.Tagline, RunTime = movie.RunTime, Overview = movie.Overview, Price = movie.Price, ReleaseDate = movie.ReleaseDate, Rating = movie.Rating, Revenue = movie.Revenue, ImdbUrl = movie.ImdbUrl, Genres = genreList, Casts = castList, }; return(theMovie); }
public async Task <IEnumerable <MovieCardResponseModel> > GetTop25GrossingMovies() { var movies = await _movieRepository.GetTopRevenueMovies(); var movieResponseModel = new List <MovieCardResponseModel>(); foreach (var movie in movies) { var movieCard = new MovieCardResponseModel { Id = movie.Id, PosterUrl = movie.PosterUrl, Revenue = movie.Revenue, Title = movie.Title }; movieResponseModel.Add(movieCard); } return(movieResponseModel); }
public async Task <IEnumerable <MovieCardResponseModel> > GetMoviesByPage(int pageSize, int page) { var movies = await _movieRepository.GetMoviesByPage(pageSize, page); var movieModels = new List <MovieCardResponseModel>(); foreach (var movie in movies) { var curModel = new MovieCardResponseModel { Id = movie.Id, PosterUrl = movie.PosterUrl, Revenue = movie.Revenue, Title = movie.Title }; movieModels.Add(curModel); } return(movieModels); }
public async Task <MovieCardResponseModel> CreateMovie(MovieCreateRequestModel movieCreateRequestModel) { var movie = new Movie { Title = movieCreateRequestModel.Title, Budget = movieCreateRequestModel.Budget, Revenue = movieCreateRequestModel.Revenue, }; var response = await _movieRepository.AddAsync(movie); var createdMovie = new MovieCardResponseModel { Id = response.Id, Title = response.Title, Budget = response.Budget, Revenue = response.Revenue, }; return(createdMovie); }
public async Task <IEnumerable <MovieCardResponseModel> > GetTop25topGrossingMovies() { var movies = await _movieRepository.GetTopRevenueMovies(); //a list of 25 movies of top revenue var movieCardResponseModel = new List <MovieCardResponseModel>(); foreach (var movie in movies) { //createa movieCard and add it to the result var movieCard = new MovieCardResponseModel { Id = movie.Id, Title = movie.Title, Revenue = movie.Revenue, PosterUrl = movie.PosterUrl }; movieCardResponseModel.Add(movieCard); } return(movieCardResponseModel); }