Esempio n. 1
0
        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
            });
        }
Esempio n. 2
0
 public async Task <IActionResult> Update([FromBody] UpdateJokeRequest updateJokeRequest)
 {
     try
     {
         return(Ok(await _mediator.Send(updateJokeRequest)));
     }
     catch (Exception ex)
     {
         return(StatusCode(500, ex.Message));
     }
 }