public static bool EhUmaInscricaoEstadualParana(this InscricaoEstadual inscricaoEstadual) { if (inscricaoEstadual.NumeroDocumento.Length != TamanhoInscricaoEstadualParana) { return(false); } int[] digitoVerificadorInformado = inscricaoEstadual.ObterUltimosDoisDigitosDeControleInformados(); int[] digitoVerificadorCalculado = { 0, 0 }; // Controla a quantidade de dígitos verificadores. for (int i = 0; i < 2; i++) { int posicaoInicial = 0; int tamanho = inscricaoEstadual.NumeroDocumento.Length - 2 + i; string baseCalculo = inscricaoEstadual.ObterBaseDeCalculo(posicaoInicial, tamanho); int soma = inscricaoEstadual.AplicarPeso(baseCalculo, PesoInicialParana, PesoMaximoParana); digitoVerificadorCalculado[i] = CalcularDigitoDeControle(soma); } return(digitoVerificadorInformado[0] == digitoVerificadorCalculado[0] && digitoVerificadorInformado[1] == digitoVerificadorCalculado[1]); }
public static bool EhUmaInscricaoEstadualRondonia(this InscricaoEstadual inscricaoEstadual) { if (inscricaoEstadual.NumeroDocumento.Length != TamanhoMinimoInscricaoEstadualRondonia && inscricaoEstadual.NumeroDocumento.Length != TamanhoMaximoInscricaoEstadualRondonia) { return(false); } string baseCalculo = inscricaoEstadual.NumeroDocumento; int posicaoInicial; int tamanho; if (baseCalculo.Length == TamanhoMinimoInscricaoEstadualRondonia) { posicaoInicial = 3; tamanho = baseCalculo.Length - posicaoInicial; baseCalculo = baseCalculo.Substring(posicaoInicial, tamanho); } posicaoInicial = 0; tamanho = baseCalculo.Length - 1; baseCalculo = baseCalculo.Substring(posicaoInicial, tamanho); int soma = inscricaoEstadual.AplicarPeso(baseCalculo, PesoInicialRondonia, PesoMaximoRondonia); int digitoVerificadorCalculado = CalcularDigitoDeControle(soma); int digitoVerificadorInformado = inscricaoEstadual.ObterUltimoDigitoDeControleInformado(); return(digitoVerificadorInformado == digitoVerificadorCalculado); }
public static bool EhUmaInscricaoEstadualBahia(this InscricaoEstadual inscricaoEstadual) { if (inscricaoEstadual.NumeroDocumento.Length != TamanhoMinimoInscricaoEstadualBahia && inscricaoEstadual.NumeroDocumento.Length != TamanhoMaximoInscricaoEstadualBahia) { return(false); } int[] digitoVerificadorCalculado = { 0, 0 }; int posicaoInicial = 0; int tamanho = inscricaoEstadual.NumeroDocumento.Length - 2; string baseCalculo = inscricaoEstadual.ObterBaseDeCalculo(posicaoInicial, tamanho); for (int i = 1; i >= 0; i--) { bool primeiroDigito = i == 1; int soma = inscricaoEstadual.AplicarPeso(baseCalculo, PesoInicialBahia, PesoMaximoBahia); digitoVerificadorCalculado[i] = CalcularDigitoDeControle(soma, baseCalculo[0], primeiroDigito); baseCalculo += digitoVerificadorCalculado[i]; } int[] digitoVerificadorInformado = inscricaoEstadual.ObterUltimosDoisDigitosDeControleInformados(); return(digitoVerificadorInformado[0] == digitoVerificadorCalculado[0] && digitoVerificadorInformado[1] == digitoVerificadorCalculado[1]); }
public static bool EhUmaInscricaoEstadualAcre(this InscricaoEstadual inscricaoEstadual) { if (inscricaoEstadual.NumeroDocumento.Length != TamanhoInscricaoEstadualAcre || !inscricaoEstadual.IniciaCom(CodigoEstadoAcre)) { return(false); } int[] digitoVerificadorCalculado = { 0, 0 }; for (int i = 0; i < 2; i++) { int posicaoInicial = 0; int tamanho = inscricaoEstadual.NumeroDocumento.Length - 2 + i; string baseCalculo = inscricaoEstadual.ObterBaseDeCalculo(posicaoInicial, tamanho); int soma = inscricaoEstadual.AplicarPeso(baseCalculo, PesoInicialAcre, PesoMaximoAcre); digitoVerificadorCalculado[i] = CalcularDigitoDeControle(soma % 11); } int[] digitoVerificadorInformado = inscricaoEstadual.ObterUltimosDoisDigitosDeControleInformados(); return(digitoVerificadorInformado[0] == digitoVerificadorCalculado[0] && digitoVerificadorInformado[1] == digitoVerificadorCalculado[1]); }
public static bool EhUmaInscricaoEstadualMinasGerais(this InscricaoEstadual inscricaoEstadual) { if (inscricaoEstadual.NumeroDocumento.Length != TamanhoInscricaoEstadualMinasGerais) { return(false); } int posicaoInicial = 0; int tamanho = 3; string municipio = inscricaoEstadual.NumeroDocumento.Substring(posicaoInicial, tamanho); posicaoInicial = 3; tamanho = 8; string ordem = inscricaoEstadual.NumeroDocumento.Substring(posicaoInicial, tamanho); int[] digitoVerificadorCalculado = { 0, 0 }; int[] digitoVerificadorInformado = inscricaoEstadual.ObterUltimosDoisDigitosDeControleInformados(); string baseCalculo; // Controla os passos e a aplicação do peso for (int i = 0; i < 2; i++) { if (i == 0) { baseCalculo = municipio + "0" + ordem; string aux = (AplicarPeso(baseCalculo)).ToString(); int posicao = aux.Length - 1; digitoVerificadorCalculado[i] = 10 - int.Parse(aux[posicao].ToString()); } // Calculo do segundo digíto. baseCalculo = municipio + ordem + digitoVerificadorCalculado[i++].ToString(); int soma = inscricaoEstadual.AplicarPeso(baseCalculo, PesoInicialMinasGerais, PesoMaximoMinasGerais); digitoVerificadorCalculado[i] = (soma % 11) <= 1 ? 0 : 11 - (soma % 11); } // Compara os dígitos verificadores informado e calculado. return(digitoVerificadorInformado[0] == digitoVerificadorCalculado[0] && digitoVerificadorInformado[1] == digitoVerificadorCalculado[1]); }
public static bool EhUmaInscricaoEstadualParaiba(this InscricaoEstadual inscricaoEstadual) { if (inscricaoEstadual.NumeroDocumento.Length != TamanhoInscricaoEstadualParaiba) { return(false); } int posicaoInicial = 0; int tamanho = inscricaoEstadual.NumeroDocumento.Length - 1; string baseCalculo = inscricaoEstadual.ObterBaseDeCalculo(posicaoInicial, tamanho); int soma = inscricaoEstadual.AplicarPeso(baseCalculo, PesoInicialParaiba, PesoMaximoParaiba); int digitoVerificadorCalculado = CalcularDigitoDeControle(soma); int digitoVerificadorInformado = inscricaoEstadual.ObterUltimoDigitoDeControleInformado(); return(digitoVerificadorInformado == digitoVerificadorCalculado); }
public static bool EhUmaInscricaoEstadualGoias(this InscricaoEstadual inscricaoEstadual) { if ((inscricaoEstadual.NumeroDocumento.Length != TamanhoInscricaoEstadualGoias) || !inscricaoEstadual.IniciaCom(CodigoGoias10) && !inscricaoEstadual.IniciaCom(CodigoGoias11) && !inscricaoEstadual.IniciaCom(CodigoGoias15)) { return(false); } int posicaoInicial = 0; int tamanho = inscricaoEstadual.NumeroDocumento.Length - 1; string baseCalculo = inscricaoEstadual.ObterBaseDeCalculo(posicaoInicial, tamanho); int soma = inscricaoEstadual.AplicarPeso(baseCalculo, PesoInicialGoias, PesoMaximoGoias); int digitoVerificadorCalculado = CalcularDigitoDeControle(soma, inscricaoEstadual.NumeroDocumento); int digitoVerificadorInformado = inscricaoEstadual.ObterUltimoDigitoDeControleInformado(); return(digitoVerificadorInformado == digitoVerificadorCalculado); }
public static bool EhUmaInscricaoEstadualRioGrandeDoNorte(this InscricaoEstadual inscricaoEstadual) { if ((inscricaoEstadual.NumeroDocumento.Length != TamanhoMinimoInscricaoEstadualRioGrandeDoNorte && inscricaoEstadual.NumeroDocumento.Length != TamanhoMaximoInscricaoEstadualRioGrandeDoNorte) || !inscricaoEstadual.IniciaCom(CodigoEstadoRioGrandeDoNorte)) { return(false); } int posicaoInicial = 0; int tamanho = inscricaoEstadual.NumeroDocumento.Length - 1; string baseCalculo = inscricaoEstadual.ObterBaseDeCalculo(posicaoInicial, tamanho); int soma = 10 * inscricaoEstadual.AplicarPeso(baseCalculo, PesoInicialRioGrandeDoNorte, PesoMaximoRioGrandeDoNorte); int digitoVerificadorCalculado = CalcularDigitoDeControle(soma); int digitoVerificadorInformado = inscricaoEstadual.ObterUltimoDigitoDeControleInformado(); return(digitoVerificadorInformado == digitoVerificadorCalculado); }