Beispiel #1
0
        public async Task <MovieDto> Handle(CreateMovieForDirectorCommand request, CancellationToken cancellationToken)
        {
            if (!_movieDatabaseRepository.DirectorExists(request.DirectorId))
            {
                return(null);
            }

            var movieEntity = _mapper.Map <Movie>(request.Movie);
            await _movieDatabaseRepository.AddMovie(request.DirectorId, movieEntity);

            _movieDatabaseRepository.Save();

            var movieToReturn = _mapper.Map <MovieDto>(movieEntity);

            return(movieToReturn);
        }
Beispiel #2
0
        public IActionResult CreateMovie([FromBody] MovieDto movie)
        {
            if (movie == null)
            {
                return(BadRequest());
            }

            var newMovie = Mapper.Map <Data.Movie>(movie);

            _movieDatabaseRepository.AddMovie(newMovie);

            if (_movieDatabaseRepository.Save())
            {
                var createdMovie = Mapper.Map <Models.MovieDto>(newMovie);

                return(CreatedAtRoute("GetMovie", new { id = createdMovie.Id }, createdMovie));
            }
            else
            {
                return(StatusCode(500, errorMessage));
            }
        }