protected override ValidationResult IsValid(object value, ValidationContext validationContext)
        {
            if (value == null)
            {
                return(new ValidationResult("Informe o documento"));
            }

            string documento = value.ToString();

            if (documento.Length <= 11)
            {
                if (!CpfValidation.Validar(documento))
                {
                    return(new ValidationResult("O CPF informado é inválido."));
                }
            }
            else
            {
                if (!CnpjValidation.Validar(documento))
                {
                    return(new ValidationResult("O CNPJ informado é inválido."));
                }
            }

            return(ValidationResult.Success);
        }
        public FornecedorValidation()
        {
            RuleFor(x => x.Nome)
            .NotEmpty().WithMessage("O campo {PropertyName} precisa ser preechido")
            .Length(2, 100)
            .WithMessage("O campo {PropertyName} precisa ter entre {MinLength} e {MaxLength} caracteres");

            When(x => x.TipoFornecedor == TipoFornecedor.PessoaFisica, () =>
            {
                RuleFor(x => x.Documento.Length).Equal(CpfValidation.TamanhoCpf)
                .WithMessage("O campo Documento precisa ter {ComparisonValue} caracteres e foi fornecido {PropertyValue}.");

                RuleFor(x => CpfValidation.Validar(x.Documento)).Equal(true)
                .WithMessage("O documento fornecido é inválido.");
            });

            When(x => x.TipoFornecedor == TipoFornecedor.PessoaJuridica, () =>
            {
                RuleFor(x => x.Documento.Length).Equal(CnpjValidation.TamanhoCnpj)
                .WithMessage("O campo Documento precisa ter {ComparisonValue} caracteres e foi fornecido {PropertyValue}.");

                RuleFor(x => CnpjValidation.Validar(x.Documento)).Equal(true)
                .WithMessage("O documento fornecido é inválido.");
            });
        }
        public ProviderValidation()
        {
            RuleFor(p => p.Name)
            .NotEmpty().WithMessage("O campo {PropertyName} não pode ser vazio")
            .Length(3, 100).WithMessage("O campo precisa ter entre {MinLength} e {MaxLength} caracteres");

            When(p => p.ProviderType == ProviderType.LegalPerson, () => {
                RuleFor(p => p.DocumentNumber.Length).Equal(CnpjValidation.TamanhoCnpj).WithMessage("O campo precisa ter {ComparisonValue} caracteres");
                RuleFor(p => CnpjValidation.Validar(p.DocumentNumber)).Equal(true).WithMessage("O documento fornecido é inválido");
            });
            When(p => p.ProviderType == ProviderType.PhysicalPerson, () => {
                RuleFor(p => p.DocumentNumber.Length).Equal(CpfValidation.TamanhoCpf).WithMessage("O campo precisa ter {ComparisonValue} caracteres");
                RuleFor(p => CpfValidation.Validar(p.DocumentNumber)).Equal(true).WithMessage("O documento fornecido é inválido");
            });
        }
Beispiel #4
0
 public bool Validate()
 {
     return(CpfValidation.Validar(this.Document));
 }
Beispiel #5
0
 private void ValidarCpf() =>
 RuleFor(c => CpfValidation.Validar(c.Cpf))
 .Equal(true).WithMessage("O CPF deve ser válido.");
 public bool IsSatisfiedBy(Usuario usuario)
 {
     return(CpfValidation.Validar(usuario.Cpf));
 }
Beispiel #7
0
        public async Task <JsonResult> AdicionarCliente(ClienteViewModel clienteModel)
        {
            _clienteRepository = new ClienteRepository(_context);
            var mensagens = new List <Mensagem>();
            var sucesso   = true;

            //valida cpf
            clienteModel.Cpf     = clienteModel.Cpf.Trim();
            clienteModel.Nome    = clienteModel.Nome.Trim();
            clienteModel.Email   = clienteModel.Email.Trim();
            clienteModel.Empresa = clienteModel.Empresa.Trim();
            clienteModel.TelefoneComercialDdd = clienteModel.TelefoneComercialDdd.Trim();
            clienteModel.TelefoneComercial    = clienteModel.TelefoneComercial.Trim();
            clienteModel.CelularDdd           = clienteModel.CelularDdd.Trim();
            clienteModel.Celular = clienteModel.Celular.Trim();

            if (String.IsNullOrEmpty(clienteModel.Nome))
            {
                mensagens.Add(new Mensagem
                {
                    Tipo  = ETipoMensagem.Falha,
                    Texto = "Nome do cliente não informado, este campo é obrigatório."
                });
                sucesso = false;
            }
            if (String.IsNullOrEmpty(clienteModel.Email))
            {
                mensagens.Add(new Mensagem
                {
                    Tipo  = ETipoMensagem.Falha,
                    Texto = "E-mail do cliente não informado, este campo é obrigatório."
                });
                sucesso = false;
            }

            if (!String.IsNullOrEmpty(clienteModel.Cpf))
            {
                //Valida se o CPF é um CPF válido
                if (CpfValidation.Validar(clienteModel.Cpf))
                {
                    //Verifica no banco de dados se este cpf já esta cadastrado
                    if (await _clienteRepository.CpfExistente(clienteModel.Cpf))
                    {
                        mensagens.Add(new Mensagem
                        {
                            Tipo  = ETipoMensagem.Falha,
                            Texto = "Cliente já cadastrado, não é possível cadastrar novamente."
                        });
                        sucesso = false;
                    }
                }
                else
                {
                    mensagens.Add(new Mensagem
                    {
                        Tipo  = ETipoMensagem.Falha,
                        Texto = "CPF esta em um formato inválido, por favor verifique."
                    });
                    sucesso = false;
                }
            }
            else
            {
                mensagens.Add(new Mensagem
                {
                    Tipo  = ETipoMensagem.Falha,
                    Texto = "CPF não foi informado"
                });
                sucesso = false;
            }

            //somente maiores de 18 podem ser cadastrados
            if (clienteModel.DataNascimento == null)
            {
                mensagens.Add(new Mensagem
                {
                    Tipo  = ETipoMensagem.Falha,
                    Texto = "Data de nascimento não informado, este campo é obrigatório."
                });
                sucesso = false;
            }
            else
            {
                if (clienteModel.DataNascimento.AddYears(18) < DateTime.Now)
                {
                    mensagens.Add(new Mensagem
                    {
                        Tipo  = ETipoMensagem.Falha,
                        Texto = "Cliente tem menos de 18 anos e não pode prossegir o cadastro."
                    });
                    sucesso = false;
                }
            }

            //Insere o cliente no banco
            var cliente = new Cliente
            {
                Nome                 = clienteModel.Nome,
                Cpf                  = clienteModel.Cpf,
                DataNascimento       = clienteModel.DataNascimento,
                Email                = clienteModel.Email,
                Empresa              = clienteModel.Empresa,
                TelefoneComercialDdd = clienteModel.TelefoneComercialDdd,
                TelefoneComercial    = clienteModel.TelefoneComercial,
                Celular              = clienteModel.Celular,
                CelularDdd           = clienteModel.CelularDdd,
                Idade                = DateTime.Now.Year - clienteModel.DataNascimento.Year
            };

            //insere no banco
            try
            {
                await _clienteRepository.AddAndSaveAsync(cliente);

                mensagens.Add(new Mensagem
                {
                    Tipo  = ETipoMensagem.Sucesso,
                    Texto = "Formulário enviado com sucesso. Em breve entraremos em contato."
                });
            }
            catch (Exception e)
            {
                return(Json(new { Sucesso = false, erro = e.InnerException != null ? e.InnerException.Message : e.Message }));
            }

            //mensagem de sucesso "Formulário enviado com sucesso. Em breve entraremos em contato."
            return(Json(new
            {
                Sucesso = sucesso,
                Mensagens = mensagens
            }));
        }
Beispiel #8
0
 public bool IsSatisfiedBy(Cliente entity)
 {
     return(CpfValidation.Validar(entity.CPF));
 }
Beispiel #9
0
 public bool IsSatisfiedBy(Cliente cliente)
 {
     return(CpfValidation.Validar(cliente.CPF));
 }
Beispiel #10
0
 public bool IsSatisfiedBy(Proposta proposta)
 {
     return(CpfValidation.Validar(proposta.CPF_CNPJ));
 }
Beispiel #11
0
 public void ValidarCpf()
 {
     Custom(cliente => !CpfValidation.Validar(cliente.Cpf) ? new ValidationFailure("CPF", ValidationMessages.CpfInvalido) : null);
 }