public ActionResult <ApiResponse <UsuarioQueryResult, Notificacao> > UsuarioLogin([FromBody] LoginUsuarioCommand 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) { UsuarioQueryResult usuarioQR = (UsuarioQueryResult)result.Dados; string token = _tokenService.GenerateToken(usuarioQR); UsuarioTokenQueryResult usuarioTokenQR = new UsuarioTokenQueryResult() { Id = usuarioQR.Id, Login = usuarioQR.Login, Senha = usuarioQR.Senha, Privilegio = usuarioQR.Privilegio, Token = token }; return(StatusCode(StatusCodes.Status200OK, new ApiResponse <object, Notificacao>(result.Mensagem, usuarioTokenQR))); } 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 UsuarioLogin([FromBody] LogarUsuarioCommand command) { try { var result = _handler.Handle(command); var tokenJWT = _tokenJWTService.GenerateToken((UsuarioQueryResult)result.Data); result.Data = tokenJWT; return(result); } catch (Exception ex) { throw ex; } }