public ActionResult <ApiResponse <AdicionarUsuarioCommandOutput, Notificacao> > UsuarioInserir([FromBody] AdicionarUsuarioCommand command) { try { if (Request.Headers["ChaveAPI"].ToString() != _ChaveAPI) { return(StatusCode(StatusCodes.Status401Unauthorized, new ApiResponse <object, Notificacao>("Acesso negado", new List <Notificacao>() { new Notificacao("Chave da API", "ChaveAPI não corresponde com a chave esperada") }))); } if (command == null) { return(StatusCode(StatusCodes.Status400BadRequest, new ApiResponse <object, Notificacao>("Parâmentros inválidos", new List <Notificacao>() { new Notificacao("Parâmetros de entrada", "Parâmetros de entrada estão nulos") }))); } if (!command.ValidarCommand()) { return(StatusCode(StatusCodes.Status400BadRequest, new ApiResponse <object, Notificacao>("Parâmentros inválidos", command.Notificacoes))); } var result = _handler.Handler(command); if (result.Sucesso) { return(StatusCode(StatusCodes.Status200OK, new ApiResponse <object, Notificacao>(result.Mensagem, result.Dados))); } else { return(StatusCode(StatusCodes.Status400BadRequest, new ApiResponse <object, Notificacao>(result.Mensagem, result.Erros))); } } catch (Exception e) { return(StatusCode(StatusCodes.Status500InternalServerError, new ApiResponse <object, Notificacao>("Erro", new List <Notificacao>() { new Notificacao("Erro", e.Message) }))); } }
public ICommandResult Handle(AdicionarUsuarioCommand command) { try { if (!command.ValidarCommand()) { return(new CommandResult(false, "Por favor, corrija as inconsistências abaixo", command.Notifications)); } int id = 0; string nome = command.Nome; Email login = new Email(command.Login); string senha = command.Senha; Usuario usuario = new Usuario(id, nome, login, senha); AddNotifications(login.Notifications); if (Invalid) { return(new CommandResult(false, "Por favor, corrija as inconsistências abaixo", Notifications)); } id = _repository.Salvar(usuario); return(new CommandResult(true, "Usuário gravado com sucesso!", new { Id = id, Nome = usuario.Nome, Login = usuario.Login.ToString(), Senha = usuario.Senha })); } catch (Exception ex) { throw ex; } }