Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }