Exemplo n.º 1
0
        public async Task <ActionResult <Response> > Post([FromBody] LoginRequest userDetails)
        {
            var request = new ValidateLoginQuery(userDetails.Login, userDetails.Password);

            var response = await _mediator.Send(request);

            if (response.IsFailure)
            {
                return(BadRequest(response));
            }
            if (response.Value is null)
            {
                return(NoContent());
            }

            return(Ok(response.Value));
        }
Exemplo n.º 2
0
        public async Task <Response <ValidateLoginResponse> > Handle(ValidateLoginQuery request, CancellationToken cancellationToken)
        {
            var response = new ValidateLoginResponse();

            var requestId = Guid.NewGuid().ToString();

            if (request == null)
            {
                return(Response <ValidateLoginResponse> .Fail(Messages.InvalidRequest));
            }
            if (request.Login == null || !request.Login.Any())
            {
                return(Response <ValidateLoginResponse> .Fail(Messages.InvalidLogin));
            }
            if (request.Password == null || !request.Password.Any())
            {
                return(Response <ValidateLoginResponse> .Fail(Messages.InvalidPassword));
            }

            try
            {
                var sucessLogin = await _collateralPriorityRepository.WriteNewUser(request.Login, request.Password);

                if (!sucessLogin)
                {
                    return(Response <ValidateLoginResponse> .Fail(new Error("GenericError",
                                                                            $"RequestId: {requestId} - Erro ao inserir dados de um novo usuário",
                                                                            StatusCodes.Status500InternalServerError)));
                }

                response.sucess = sucessLogin;

                return(Response <ValidateLoginResponse> .Ok(response));
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, $"RequestId: {requestId} - Erro ao inserir dados de um novo usuário");
                return(Response <ValidateLoginResponse> .Fail(new Error("GenericError",
                                                                        $"RequestId: {requestId} - Erro ao inserir dados de um novo usuário",
                                                                        StatusCodes.Status500InternalServerError)));
            }
        }