public async Task <UpdateJokeResponse> Handle(UpdateJokeRequest request, CancellationToken cancellationToken) { var joke = _mapper.Map <Joke>(request); var validator = new JokeValidator(); validator.Validate(joke); if (validator.Errors.Count > 0) { throw new Exception(validator.Errors.FirstOrDefault()); } var jokeExists = await _jokeRepository.Get(joke.Id); if (jokeExists == null) { throw new Exception("A piada informada não existe."); } var jokeCreated = await _jokeRepository.Update(joke); return(new UpdateJokeResponse { Id = jokeCreated.Id, Text = jokeCreated.Text, Response = jokeCreated.Response }); }
public async Task <CreateJokeResponse> Handle(CreateJokeRequest request, CancellationToken cancellationToken) { var joke = _mapper.Map <Joke>(request); var validator = new JokeValidator(); validator.Validate(joke); if (validator.Errors.Count > 0) { throw new Exception(validator.Errors.FirstOrDefault()); } var jokeCreated = await _jokeRepository.Create(joke); return(new CreateJokeResponse { Id = jokeCreated.Id, Text = jokeCreated.Text, Response = jokeCreated.Response }); }