public IActionResult Login(LoginDataIn data)
        {
            (RetornoDataOut retorno, LoginOut loginOut) = _userData.Login(data);
            if (retorno.Result == Retorno.Error)
            {
                return(StatusCode(200, retorno));
            }

            RetornoDataOut DataRetorno = new RetornoDataOut
            {
                Data = new { Token = _jwtServices.GenerateSecurityToken(loginOut.Email, loginOut.Username, loginOut.Id.ToString()) }
            };

            return(StatusCode(200, DataRetorno));
        }
        public (RetornoDataOut, LoginOut) Login(LoginDataIn data)
        {
            Users usuario = _context.Users.FirstOrDefault(x => (x.username == data.Username || x.email == data.Username) && x.active);

            if (usuario is null)
            {
                return(new RetornoDataOut {
                    Result = Retorno.Error, Msg = "User are not exits or was blocked"
                }, null);
            }

            if (!_security.VerifyPasswordHash(data.Password, usuario.password))
            {
                return(new RetornoDataOut {
                    Result = Retorno.Error, Msg = "Password incorrect"
                }, null);
            }

            return(new RetornoDataOut {
                Result = Retorno.Ok
            }, _mapper.Map <LoginOut>(usuario));
        }