public ICommandResult Handle(AtualizaClienteCommand command)
        {
            //Gera os Value Objects
            var cpf          = new CPF(command.CpfNumero);
            var emailAddress = new EmailAddress(command.EmailAddress);

            //Valida propriedades que não buscam de repositório
            if (!(cpf.IsValid() & emailAddress.IsValid() & command.EhMaiorDeIdade()))
            {
                return(new ClienteCommandResult());
            }

            //Valida propriedades que buscam de repositório
            if (!(command.PossuiCpfUnico(_clienteRepository) & command.PossuiEmailUnico(_clienteRepository)))
            {
                return(new ClienteCommandResult());
            }

            //Gera a entidade cliente
            var cliente = new Cliente(command.ClienteId, command.Nome, emailAddress, cpf, command.DataNascimento, command.Ativo);

            //Atualiza a entidade junto ao repositório
            _clienteRepository.Atualizar(cliente);

            return(new ClienteCommandResult());
        }
예제 #2
0
            public string Validate(ModelBase model, object value)
            {
                if (model is Fornecedor)
                {
                    var f = (Fornecedor)model;

                    if (f.Tipo == TipoFornecedor.PessoaFisica)
                    {
                        if (!CPF.IsValid(value.ToString()))
                        {
                            return("CPF Inválido");
                        }

                        if (DateTime.Now.AddYears(-18) < f.DataNascimento)
                        {
                            return("Não é permitido cadastrar um fornecedor pessoa física menor de idade");
                        }
                    }
                    else
                    {
                        if (!CNPJ.IsValid(value.ToString()))
                        {
                            return("CPJ Inválido");
                        }
                    }
                }

                return(null);
            }
        public RetornoUsuario Login(RequisicaoUsuario requisicao)
        {
            try
            {
                if (string.IsNullOrEmpty(requisicao.Usuario.IDLDAP) || string.IsNullOrEmpty(requisicao.Usuario.Senha))
                {
                    return(new RetornoUsuario(requisicao.Usuario, null, new Status(3, "Usuário/Senha em branco.", false)));
                }

                if (CPF.IsValid(requisicao.Usuario.IDLDAP) ||
                    (
                        requisicao.Usuario.IDLDAP.ToUpper().Contains("DE-") ||
                        requisicao.Usuario.IDLDAP.ToUpper().Contains("ESC-") ||
                        requisicao.Usuario.IDLDAP.ToUpper().Contains("EFAP-") ||
                        requisicao.Usuario.IDLDAP.ToUpper().Contains("CGRH-") ||
                        requisicao.Usuario.IDLDAP.ToUpper().Contains("CGEB-") ||
                        requisicao.Usuario.IDLDAP.ToUpper().Contains("CIMA-") ||
                        requisicao.Usuario.IDLDAP.ToUpper().Contains("CISE-") ||
                        requisicao.Usuario.IDLDAP.ToUpper().Contains("COFI-") ||
                        requisicao.Usuario.IDLDAP.ToUpper().Contains("CEE-") ||
                        requisicao.Usuario.IDLDAP.ToUpper().Contains("DA-") ||
                        requisicao.Usuario.IDLDAP.ToUpper().Contains("GS-"))
                    )
                {
                    requisicao.Usuario.CPF = requisicao.Usuario.IDLDAP;
                }
                else if (RG.IsValid(requisicao.Usuario.IDLDAP))
                {
                    requisicao.Usuario.RG = requisicao.Usuario.IDLDAP;
                }
                else
                {
                    requisicao.Usuario.Nome = requisicao.Usuario.IDLDAP;
                }

                requisicao.Usuario.IDLDAP = null;

                Usuario usuario = _usuarioNegocio.Login(requisicao.Usuario);

                if (usuario.IDLDAP != "0" && !String.IsNullOrEmpty(usuario.IDLDAP))
                {
                    return(new RetornoUsuario(usuario, null, new Status(0, "", true)));
                }
                else
                {
                    return(new RetornoUsuario(usuario, null, new Status(3, "Usuário não encontrado", false)));
                }
            }
            catch (Exception ex)
            {
                if (ex.Message.Contains("Ops"))
                {
                    return(new RetornoUsuario(requisicao.Usuario, null, new Status(66, ex.Message, false)));
                }
                else
                {
                    return(new RetornoUsuario(requisicao.Usuario, null, new Status(3, ex.Message, false)));
                }
            }
        }
예제 #4
0
        public void DadoUmCPFVerdadeiroOConstrutorDeveRetornarUmCPFInvalido()
        {
            CPF cpf = new CPF("54489058462");

            Assert.IsTrue(cpf.IsValid());
            Assert.AreEqual("54489058462", cpf.Numero);
        }
예제 #5
0
        public void Validar()
        {
            if (string.IsNullOrEmpty(Numero))
            {
                throw new Exception("O CNPJ é inválido!\n Altere e salve novamente");
            }

            TipoInscricao = Tipo;
            if (TipoInscricao == TipoInscricao.Júridica)
            {
                if (!CNPJ.IsValid(Numero))
                {
                    throw new Exception("O CNPJ é inválido!\n Altere e salve novamente");
                }
            }
            else
            {
                if (!CPF.IsValid(Numero))
                {
                    throw new Exception("O CPF é inválido!\n Altere e salve novamente");
                }
            }
        }
        public ICommandResult Handle(AdicionaNovoClienteCommand command)
        {
            //Gera os Value Objects
            var cpf          = new CPF(command.CpfNumero);
            var emailAddress = new EmailAddress(command.EmailAddress);

            //Valida propriedades que não buscam de repositório
            if (!(cpf.IsValid() & emailAddress.IsValid() & command.EhMaiorDeIdade() &
                  command.PossuiEnderecoInformado()))
            {
                return(new ClienteCommandResult());
            }

            //Valida propriedades que buscam de repositório
            if (!(command.PossuiCpfUnico(_clienteRepository) & command.PossuiEmailUnico(_clienteRepository)))
            {
                return(new ClienteCommandResult());
            }

            //Gera a entidade cliente
            var cliente = new Cliente(command.ClienteId, command.Nome, emailAddress, cpf, command.DataNascimento, command.Ativo);

            //Gera as
            foreach (var clienteEnderecoCommand in command.Enderecos)
            {
                var endereco = new Endereco(clienteEnderecoCommand.Logradouro, clienteEnderecoCommand.Numero,
                                            clienteEnderecoCommand.Complemento, clienteEnderecoCommand.Bairro, clienteEnderecoCommand.CEP,
                                            clienteEnderecoCommand.Cidade, clienteEnderecoCommand.Estado);

                cliente.AdicionarEndereco(endereco);
            }

            //Adiciona a entidade ao repositório
            _clienteRepository.Adicionar(cliente);

            return(new ClienteCommandResult());
        }
예제 #7
0
        public void DadoUmCPFInvalidoOConstrutorDeveRetornarUmCPFInvalido()
        {
            CPF cpf = new CPF("01234567891");

            Assert.IsFalse(cpf.IsValid());
        }
예제 #8
0
        public void TestShouldInvalidateCPFWhenEmpty()
        {
            CPF cpf = "";

            Assert.IsFalse(cpf.IsValid());
        }
예제 #9
0
        public void TestShouldInvalidateCPF()
        {
            CPF cpf = invalidCPF;

            Assert.IsFalse(cpf.IsValid());
        }
예제 #10
0
        public void TestShouldValidateCPF()
        {
            CPF cpf = formattedCPF;

            Assert.IsTrue(cpf.IsValid());
        }
 public void IsValidString() => Assert.IsTrue(CPF.IsValid("632.199.103-19"));
 public void GenerateCPF(long cpf) => Assert.IsTrue(CPF.IsValid(cpf));
예제 #13
0
 protected override ValidationResult IsValid(object value, ValidationContext validationContext)
 {
     return(CPF.IsValid(value.ToString()) ? ValidationResult.Success : new ValidationResult("CPF em formato inválido."));
 }
예제 #14
0
 public void CpfValido()
 {
     Assert.True(CPF.IsValid("562.832.510-48"));
 }
예제 #15
0
        public void DadoUmCPFComMaisDeOnzeDigitosOConstrutorDeveRetornarUmCPFInvalido()
        {
            CPF cpf = new CPF("996564321000");

            Assert.IsFalse(cpf.IsValid());
        }
예제 #16
0
        public void DadoUmCPFComMenosDeOnzeDigitosOConstrutorDeveRetornarUmCPFInvalido()
        {
            CPF cpf = new CPF("0575231980");

            Assert.IsFalse(cpf.IsValid());
        }
예제 #17
0
        public void DadoUmCPFComOnzeZerosOConstrutorDeveRetornarUmCPFInvalido()
        {
            CPF cpf = new CPF("00000000000");

            Assert.IsFalse(cpf.IsValid());
        }
 public void IsValidIntArray() => Assert.IsTrue(CPF.IsValid(new[] { 6, 3, 2, 1, 9, 9, 1, 0, 3, 1, 9 }));
 public void IsValidLong() => Assert.IsTrue(CPF.IsValid(63219910319));
예제 #20
0
 public void CpfInvalido()
 {
     Assert.False(CPF.IsValid("562.832.510-00"));
 }
예제 #21
0
        public void ValidateCPFFromUnformatedString()
        {
            CPF cpf = _unformattedCPF;

            Assert.True(cpf.IsValid());
        }
예제 #22
0
        public static bool IsCPF(string cpf)
        {
            CPF cpfBR = cpf;

            return(cpfBR.IsValid());
        }
예제 #23
0
        public void CPF_Valido_False()
        {
            var cpf = new CPF("30390600821");

            Assert.IsFalse(cpf.IsValid());
        }
예제 #24
0
        public void CPF_Valido_True()
        {
            var cpf = new CPF("30390600822");

            Assert.IsTrue(cpf.IsValid());
        }
예제 #25
0
        public void ValidateCPFFromUInt64()
        {
            CPF cpf = _uint64CPF;

            Assert.True(cpf.IsValid());
        }