public async Task <IActionResult> Put(Guid id, Cliente cliente, [FromServices] ClienteValidator validator) { try { if (id != cliente.Id) { return(BadRequest()); } var result = await validator.ValidateAsync(cliente); if (!result.IsValid) { return(UnprocessableEntity(new Retorno <Cliente>(result.Errors))); } _repository.Update(cliente); await _uow.Commit(); cliente = await _repository.GetById(id); return(Ok(new Retorno <Cliente> { Mensagem = "Cadastro atualizado com sucesso", Dados = cliente })); } catch (Exception ex) { await _uow.Rollback(); return(BadRequest(new Retorno <Cliente>(ex.InnerException?.Message))); } }
public async Task <IActionResult> Register( Cliente usuario, [FromServices] ClienteValidator validator, [FromServices] IFluentEmail email ) { try { var result = await validator.ValidateAsync(usuario); if (!result.IsValid) { return(UnprocessableEntity(new Retorno <Usuario>(result.Errors))); } await _repository.Add(usuario); await _uow.Commit(); _ = email .To(usuario.Email, usuario.Nome) .Subject("Cadastro realizado com sucesso") .Body("Corpo da mensagem de teste") .SendAsync(); return(Ok(new Retorno <Cliente> { Mensagem = "Cadastro realizado com sucesso", Dados = usuario })); } catch (Exception ex) { await _uow.Rollback(); return(BadRequest(new Retorno <Usuario>(ex.InnerException?.Message))); } }