public async Task <MoviePutGetDTO> PutGet(int id) { var movie = await GetDTOById(id); if (movie == null) { return(null); } var genresSelectedIds = movie.Genres.Select(x => x.Id).ToList(); var nonSelectedGenres = await applicationDb.Genres.Where(x => !genresSelectedIds.Contains(x.Id)) .ToListAsync(); var movieTheatersIds = movie.MovieTheaters.Select(x => x.Id).ToList(); var nonSelectedMovieTheaters = await applicationDb.MovieTheaters.Where(x => !movieTheatersIds.Contains(x.Id)) .ToListAsync(); var nonSelectedGenresDTOs = _mapper.Map <List <GenreDTO> >(nonSelectedGenres); var nonSelectedMovieTheatersDTOs = _mapper.Map <List <MovieTheaterDTO> >(nonSelectedMovieTheaters); var response = new MoviePutGetDTO(); response.Movie = movie; response.SelectedGenres = movie.Genres; response.NonSelectedGenres = nonSelectedGenresDTOs; response.SelectedMovieTheaters = movie.MovieTheaters; response.NonSelectedMovieTheaters = nonSelectedMovieTheatersDTOs; response.Actors = movie.Actors; return(response); }
public async Task <ActionResult <MoviePutGetDTO> > PutGet(int id) { var movieActionResult = await Get(id); if (movieActionResult.Result is NotFoundResult) { return(NotFound()); } var movie = movieActionResult.Value; var genresSelectedIds = movie.Genres.Select(x => x.Id).ToList(); var nonSelectedGenres = await context.Genres.Where(x => !genresSelectedIds.Contains(x.Id)) .ToListAsync(); var movieTheatersIds = movie.MovieTheaters.Select(x => x.Id).ToList(); var nonSelectedMovieTheaters = await context.MovieTheaters.Where(x => !movieTheatersIds.Contains(x.Id)).ToListAsync(); var nonSelectedGenresDTOs = mapper.Map <List <GenreDTO> >(nonSelectedGenres); var nonSelectedMovieTheatersDTO = mapper.Map <List <MovieTheaterDTO> >(nonSelectedMovieTheaters); var response = new MoviePutGetDTO(); response.Movie = movie; response.SelectedGenres = movie.Genres; response.NonSelectedGenres = nonSelectedGenresDTOs; response.SelectedMovieTheaters = movie.MovieTheaters; response.NonSelectedMovieTheaters = nonSelectedMovieTheatersDTO; response.Actors = movie.Actors; return(response); }
public async Task <ActionResult <MoviePutGetDTO> > PutGet(int id) { var movieAR = await this.Get(id); if (movieAR.Result is NotFoundResult) { return(NotFound("eeeeeeee")); } var movie = movieAR.Value; var selectedGenresID = movie.genresDTO.Select(g => g.id).ToList(); var noSelectedGenres = await context.Genres .Where(g => !selectedGenresID.Contains(g.id)) .ToListAsync(); var selectedTheaterID = movie.theaterDTO.Select(t => t.id).ToList(); var noSelectedTheater = await context.Theaters .Where(t => !selectedTheaterID.Contains(t.id)) .ToListAsync(); var noselectedGenresDTO = mapper.Map <List <GenresDTO> >(noSelectedGenres); var noSelectedTheaterDTO = mapper.Map <List <TheaterDTO> >(noSelectedTheater); var result = new MoviePutGetDTO(); result.movie = movie; result.selectedGenresDTO = movie.genresDTO; result.noselectedGenresDTO = noselectedGenresDTO; result.selectedTheaterDTO = movie.theaterDTO; result.noSelectedTheaterDTO = noSelectedTheaterDTO; result.movieActorsDTO = movie.movieActorsDTO; return(result); }