Esempio n. 1
0
        private static Result ValidarRequest(RegistrarPreCadastroUsuarioCommand request)
        {
            if (request == null)
            {
                return(Result.Fail(nameof(request)));
            }

            var requestValidator = new RegistrarPreCadastroUsuarioCommandValidator();
            var resultValidator  = requestValidator.Validate(request);

            if (!resultValidator.IsValid)
            {
                return(Result.Fail(resultValidator.Errors.Select(x => x.ErrorMessage)));
            }

            return(Result.Ok());
        }
Esempio n. 2
0
        public async Task <Result <RegistrarPreCadastroUsuarioResponse> > Handle(RegistrarPreCadastroUsuarioCommand request, CancellationToken cancellationToken)
        {
            var validarRequestResult = ValidarRequest(request);

            if (validarRequestResult.IsFailure)
            {
                return(Result <RegistrarPreCadastroUsuarioResponse> .Fail(validarRequestResult.Messages));
            }

            var verificarUsuarioJaCadastroResult = await VerificarUsuarioJaCadastrado(request);

            if (verificarUsuarioJaCadastroResult.IsFailure)
            {
                return(Result <RegistrarPreCadastroUsuarioResponse> .Fail(verificarUsuarioJaCadastroResult.Messages));
            }

            if (verificarUsuarioJaCadastroResult.Value != SituacaoCadastroUsuario.UsuarioNaoCadastrado)
            {
                return(Result <RegistrarPreCadastroUsuarioResponse> .Fail(verificarUsuarioJaCadastroResult.Value.ToString()));
            }

            var novoUsuario = new Usuario
            {
                Nome     = request.NomeUsuario,
                CPF      = request.CpfUsuario,
                Email    = request.EmailUsuario,
                Telefone = request.TelefoneUsuario,
            };

            var registrarNovoUsuarioResult = await RegistrarNovoUsuario(novoUsuario);

            if (registrarNovoUsuarioResult.IsFailure)
            {
                return(Result <RegistrarPreCadastroUsuarioResponse> .Fail(registrarNovoUsuarioResult.Messages));
            }

            var registrarRequisicaoCriacaoSenhaResponse = await _mediator.Send(new RegistrarRequisicaoCriacaoSenhaCommand(novoUsuario.UsuarioId), cancellationToken);

            if (registrarRequisicaoCriacaoSenhaResponse.IsFailure)
            {
                return(Result <RegistrarPreCadastroUsuarioResponse> .Fail(registrarRequisicaoCriacaoSenhaResponse.Messages));
            }

            return(Result <RegistrarPreCadastroUsuarioResponse> .Ok(CriarResponse(novoUsuario)));
        }
Esempio n. 3
0
        private async Task <Result <SituacaoCadastroUsuario> > VerificarUsuarioJaCadastrado(RegistrarPreCadastroUsuarioCommand request)
        {
            try
            {
                var verificarUsuarioJaCadastroResult = await _usuarioServico.VerificarUsuarioJaCadastrado(request.CpfUsuario, request.EmailUsuario);

                if (verificarUsuarioJaCadastroResult.IsFailure)
                {
                    return(Result <SituacaoCadastroUsuario> .Fail(verificarUsuarioJaCadastroResult.Messages));
                }

                return(Result <SituacaoCadastroUsuario> .Ok(verificarUsuarioJaCadastroResult.Value));
            }
            catch (Exception ex)
            {
                return(Result <SituacaoCadastroUsuario> .Fail(""));
            }
        }