예제 #1
0
 public ICommandResult UsuarioLogin([FromBody] LogarUsuarioCommand command)
 {
     try
     {
         return(_handler.Handle(command));
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
예제 #2
0
        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;
            }
        }
예제 #3
0
        public async Task <MethodResult> ExecuteAsync(LogarUsuarioCommand command)
        {
            if (command == null)
            {
                return(Error(Messages.ComandoInvalido));
            }

            var emailValidationResult = _emailValidator.Validate(new Email(command.Email));

            if (!emailValidationResult.IsValid)
            {
                return(Error(emailValidationResult));
            }

            var usuario = await _service.ObterPeloEmailAsync(command.Email);

            if (usuario == null)
            {
                return(Error(Messages.UsuarioNaoCadastrado));
            }

            if (!usuario.ValidarSenha(command.Senha))
            {
                return new MethodResult(Messages.UsuarioNaoCadastrado)
                       {
                           ErrorCode = HttpStatusCode.Unauthorized
                       }
            }
            ;

            var result = await _service.GravarLoginAsync(usuario);

            if (result.Failed)
            {
                return(result);
            }

            var output = new UsuarioMapper().OutputFrom(usuario);

            return(Success(output));
        }
    }
예제 #4
0
        public ICommandResult Handle(LogarUsuarioCommand command)
        {
            //Fail Fast Validation
            command.Validate();
            if (command.Invalid)
            {
                return(new GenericCommandResult(false, _msgError, command.Notifications));
            }

            var usuario_claim = _usuario_claims_repository.ObterClaimsUsuario(command.IdFirebase);

            if (usuario_claim.Count == 0)
            {
                return(new GenericCommandResult(false, "Não foi possível encontrar o usuário: " + command.Email + ".", command.Notifications));
            }


            //Retorna o resultado
            return(new GenericCommandResult(true, "Usuario logado com Sucesso!", _mapper.Map <UsuarioResponse>(usuario_claim)));
        }
예제 #5
0
        public ICommandResult Handle(LogarUsuarioCommand command)
        {
            try
            {
                if (!command.ValidarCommand())
                {
                    return(new CommandResult(false, "Por favor, corrija as inconsistências abaixo", command.Notifications));
                }

                string login = command.Login;
                string senha = command.Senha;

                if (!_repository.CheckLogin(login))
                {
                    AddNotification("Login", "Este Login não está cadastrado! Impossível prosseguir com este Login.");
                }

                if (Invalid)
                {
                    return(new CommandResult(false, "Por favor, corrija as inconsistências abaixo", Notifications));
                }

                var usuarioQR = _repository.Logar(login, senha);

                if (usuarioQR == null)
                {
                    AddNotification("Senha", "Senha incorreta.");
                }

                if (Invalid)
                {
                    return(new CommandResult(false, "Por favor, corrija as inconsistências abaixo", Notifications));
                }

                return(new CommandResult(true, "Usuário logado com sucesso!", usuarioQR));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public async Task <IHttpActionResult> Post(LogarUsuarioCommand command)
        {
            var result = await _commandHandler.ExecuteAsync(command);

            return(ProcessResult(result));
        }