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)); }
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(); } }
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(); } }