Esempio n. 1
0
        public async Task <IActionResult> Create(FilmForCreationDto filmForCreation)
        {
            await _filmValidatorService.ValidateForCreation(filmForCreation);

            var film = await _filmService.Create(filmForCreation);

            return(CreatedAtRoute("GetFilm", new { controller = "Film", id = film.Id }, film));
        }
Esempio n. 2
0
        public async Task <FilmForDetailedDto> Create(FilmForCreationDto filmForCreation)
        {
            var film = _mapper.Map <Film>(filmForCreation);

            _uow.Repository <Film>().Add(film);

            await _uow.SaveAsync();

            return(await GetOne(film.Id));
        }
Esempio n. 3
0
        public async Task ValidateForCreation(FilmForCreationDto filmForCreation)
        {
            Validate(filmForCreation);

            ValidateType(filmForCreation.TypeId);

            await ValidateCountry(filmForCreation.CountryId);

            await ValidateLanguage(filmForCreation.LanguageId);

            await ValidateGenre(filmForCreation.GenreIds);

            await ValidateParticipants(filmForCreation.ParticipantsRoles.Select(x => x.ParticipantId).ToList());

            await ValidateFilmRoles(filmForCreation.ParticipantsRoles.Select(x => x.RoleId).ToList());

            ThrowValidationErrorsIfNotEmpty();
        }