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