public async Task <Result <Exception, Guid> > Handle(MovieRegisterCommand request, CancellationToken cancellationToken) { var movie = _mapper.Map <MovieRegisterCommand, Movie>(request); var findGenreCallback = await _genreRepository.GetById(movie.GenreId); if (findGenreCallback.IsFailure) { return(findGenreCallback.Failure); } movie.SetGenre(findGenreCallback.Success); var addMovieCallback = await _movieRepository.AddAsync(movie); if (addMovieCallback.IsFailure) { return(addMovieCallback.Failure); } return(addMovieCallback.Success.Id); }
public async Task <IActionResult> PostAsync([FromBody] MovieRegisterCommand command) { return(HandleCommand(await _mediator.Send(command))); }