Esempio n. 1
0
        protected override bool Validar()
        {
            //verificando se o tamanho da string está correto
            if (Numero.Length != 11)
            {
                return(false);
            }

            if (Numero.AllCharsAreEqual())
            {
                return(false);
            }
            string digitos = ObterDigitos(Numero);

            return(Numero.EndsWith(digitos));
        }
Esempio n. 2
0
        public virtual void Validar()
        {
            int[] multiplicador1 = new int[12] {
                5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
            };
            int[] multiplicador2 = new int[13] {
                6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2
            };
            int    soma;
            int    resto;
            string digito;
            string tempCnpj;

            if (Numero.Length != 14)
            {
                throw new ExcecaoCNPJNaoPossuiQuatorzeNumeros();
            }

            if (Numero == "00000000000000" || Numero == "11111111111111" ||
                Numero == "22222222222222" || Numero == "33333333333333" ||
                Numero == "44444444444444" || Numero == "55555555555555" ||
                Numero == "66666666666666" || Numero == "77777777777777" ||
                Numero == "88888888888888" || Numero == "99999999999999")
            {
                throw new ExcecaoNumeroCNPJInvalido();
            }

            tempCnpj = Numero.Substring(0, 12);
            soma     = 0;
            for (int i = 0; i < 12; i++)
            {
                soma += int.Parse(tempCnpj[i].ToString()) * multiplicador1[i];
            }
            resto = (soma % 11);
            if (resto < 2)
            {
                resto = 0;
            }
            else
            {
                resto = 11 - resto;
            }
            digito   = resto.ToString();
            tempCnpj = tempCnpj + digito;
            soma     = 0;
            for (int i = 0; i < 13; i++)
            {
                soma += int.Parse(tempCnpj[i].ToString()) * multiplicador2[i];
            }
            resto = (soma % 11);
            if (resto < 2)
            {
                resto = 0;
            }
            else
            {
                resto = 11 - resto;
            }
            digito = digito + resto.ToString();

            if (Numero.EndsWith(digito) == false)
            {
                throw new ExcecaoNumeroCNPJInvalido();
            }
        }
Esempio n. 3
0
        public virtual void Validar()
        {
            int[] multiplicador1 = new int[9] {
                10, 9, 8, 7, 6, 5, 4, 3, 2
            };
            int[] multiplicador2 = new int[10] {
                11, 10, 9, 8, 7, 6, 5, 4, 3, 2
            };
            string tempCpf;
            string digito;
            int    soma;
            int    resto;

            if (Numero == "00000000000" || Numero == "11111111111" ||
                Numero == "22222222222" || Numero == "33333333333" ||
                Numero == "44444444444" || Numero == "55555555555" ||
                Numero == "66666666666" || Numero == "77777777777" ||
                Numero == "88888888888" || Numero == "99999999999")
            {
                throw new ExcecaoNumeroCPFInvalido();
            }

            if (Numero.Length != 11)
            {
                throw new ExcecaoCPFNaoPossuiOnzeNumeros();
            }

            tempCpf = Numero.Substring(0, 9);
            soma    = 0;

            for (int i = 0; i < 9; i++)
            {
                soma += int.Parse(tempCpf[i].ToString()) * multiplicador1[i];
            }

            resto = soma % 11;
            if (resto < 2)
            {
                resto = 0;
            }
            else
            {
                resto = 11 - resto;
            }
            digito  = resto.ToString();
            tempCpf = tempCpf + digito;
            soma    = 0;
            for (int i = 0; i < 10; i++)
            {
                soma += int.Parse(tempCpf[i].ToString()) * multiplicador2[i];
            }
            resto = soma % 11;
            if (resto < 2)
            {
                resto = 0;
            }
            else
            {
                resto = 11 - resto;
            }
            digito = digito + resto.ToString();

            if (Numero.EndsWith(digito) == false)
            {
                throw new ExcecaoNumeroCPFInvalido();
            }
        }