예제 #1
0
        public void deve_retornar_um_cpf_somente_com_digitos_se_houver_mascara()
        {
            //arrage
            var cpfStr = "017.942.000-37";
            //act
            var cpfLimpo = CPF.ObterCPFLimpo(cpfStr);

            //assert
            cpfLimpo.Digitos.Should().Be("01794200037");
        }
예제 #2
0
        public async Task <CommandResponse> Handle(AtualizarPerfilUsuarioCommand request, CancellationToken cancellationToken)
        {
            var usuarioEncontrado = await _usuarioRepository.ObterPorIdAsync(request.Id);

            if (usuarioEncontrado == null)
            {
                await _mediator.Publish(new DomainNotification(request.GetType().Name, "Não existe o usuario que você esta tentando modificar."));

                return(await Task.FromResult(CommandResponse.Fail));
            }

            var podeAtualizar = await ValidarOperacao(request);

            if (!podeAtualizar)
            {
                return(await Task.FromResult(CommandResponse.Fail));
            }

            var endereco = new Endereco(request.Logradouro, request.Numero, request.Bairro, request.CEP, request.Cidade, request.Estado, request.Complemento);
            var usuario  = Usuario.UsuarioFactory.CriarUsuario(request.Id, request.Nome, request.Sobrenome, request.Sexo, request.Email, CPF.ObterCPFLimpo(request.CPF),
                                                               request.DataDeNascimento, request.Celular, request.Telefone, endereco, usuarioEncontrado.PerfilId, usuarioEncontrado.Senha);

            _usuarioRepository.Atualizar(usuario);

            if (await Commit())
            {
                await _mediator.Publish(new UsuarioAtualizadoEvent(usuario));
            }

            return(await Task.FromResult(CommandResponse.Ok));
        }
예제 #3
0
        public static bool CPFValido(string arg)
        {
            if (string.IsNullOrEmpty(arg))
            {
                return(false);
            }
            if (!CPF.ValidarCPFPatterns(arg))
            {
                return(false);
            }

            var MaxDigitos = 11;
            var cpf        = CPF.ObterCPFLimpo(arg).Digitos;

            if (cpf.Length > MaxDigitos)
            {
                return(false);
            }

            while (cpf.Length != MaxDigitos)
            {
                cpf = '0' + cpf;
            }

            var igual = true;

            for (var i = 1; i < 11 && igual; i++)
            {
                if (cpf[i] != cpf[0])
                {
                    igual = false;
                }
            }

            if (igual || cpf == "12345678909")
            {
                return(false);
            }

            var numeros = new int[11];

            for (var i = 0; i < MaxDigitos; i++)
            {
                numeros[i] = int.Parse(cpf[i].ToString());
            }

            var soma = 0;

            for (var i = 0; i < 9; i++)
            {
                soma += (10 - i) * numeros[i];
            }

            var resultado = soma % 11;

            if (resultado == 1 || resultado == 0)
            {
                if (numeros[9] != 0)
                {
                    return(false);
                }
            }
            else if (numeros[9] != MaxDigitos - resultado)
            {
                return(false);
            }

            soma = 0;
            for (var i = 0; i < 10; i++)
            {
                soma += (11 - i) * numeros[i];
            }

            resultado = soma % MaxDigitos;

            if (resultado == 1 || resultado == 0)
            {
                if (numeros[10] != 0)
                {
                    return(false);
                }
            }
            else if (numeros[10] != MaxDigitos - resultado)
            {
                return(false);
            }

            return(true);
        }
        public static Usuario DefinirUsuario <T>(this BaseCommandHandler command, BaseUsuarioCommand <T> request) where T : BaseUsuarioCommand <T>
        {
            var endereco = new Endereco(request.Logradouro, request.Numero, request.Bairro, request.CEP, request.Cidade, request.Estado, request.Complemento);
            var usuario  = Usuario.UsuarioFactory.CriarUsuario(request.Id, request.Nome, request.Sobrenome, request.Sexo, request.Email, CPF.ObterCPFLimpo(request.CPF),
                                                               request.DataDeNascimento, request.Celular, request.Telefone, endereco, request.PerfilId, Senha.GerarSenha(CPF.ObterCPFLimpo(request.CPF).Digitos));

            return(usuario);
        }