Exemple #1
0
        public ResponseFilmDTO PostFilm(int?id, [FromBody] RequestFilmDTO _film)
        {
            List <RelationshipStagingDTO> tempActor = new List <RelationshipStagingDTO>(_film.FilmActorDTO);

            _film.FilmActorDTO.Clear();
            foreach (var item in tempActor)
            {
                if (!_film.FilmActorDTO.Any(x => x.SecondId == item.SecondId))
                {
                    _film.FilmActorDTO.Add(item);
                }
            }

            //Удаление дублекатов жанров во влеженном списке
            List <RelationshipStagingDTO> tempGenre = new List <RelationshipStagingDTO>(_film.FilmGenreDTO);

            _film.FilmGenreDTO.Clear();
            foreach (var item in tempGenre)
            {
                if (!_film.FilmGenreDTO.Any(x => x.SecondId == item.SecondId))
                {
                    _film.FilmGenreDTO.Add(item);
                }
            }

            //Передача данных в репозиторий
            if (id == 0)
            {
                return(_repository.AddFilm(_film.ConvertpToRequestFilm()).ConvertToResponseFilm());
                //return _film;
            }
            //_repository.EditFilm(id, _film.ConvertpToRequestFilm());
            return(_repository.EditFilm(id, _film.ConvertpToRequestFilm()).ConvertToResponseFilm());
        }
        public static Film ConvertpToRequestFilm(this RequestFilmDTO @this)
        {
            //заполнение FilmActor
            List <FilmActor> filmActors = new List <FilmActor>();

            foreach (var item in @this.FilmActorDTO)
            {
                filmActors.Add(new FilmActor()
                {
                    ActorId = item.SecondId
                });
            }

            //заполнение FilmGenre
            List <FilmGenre> filmGenres = new List <FilmGenre>();

            foreach (var item in @this.FilmGenreDTO)
            {
                filmGenres.Add(new FilmGenre()
                {
                    GenreId = item.SecondId
                });
            }

            //заполнение Film
            Film film = new Film()
            {
                Id       = @this.Id,
                Title    = @this.Title,
                Year     = @this.Year,
                Countrys = new Countrys()
                {
                    NameOfTheCountry = @this.CountryDTO.CountryTitle
                },
                FilmActor = filmActors,
                FilmGenre = filmGenres
            };

            return(film);
        }