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 <JokeDTO> Get(string id) { var joke = await _jokesRepository.Get(id); return(_mapper.Map <JokeDTO>(joke)); }