private static bool EhIndustriaOuComercio(this InscricaoEstadual inscricaoEstadual) { int[] digitoVerificadorCalculado = { 0, 0 }; int[] digitoVerificadorInformado = { int.Parse(inscricaoEstadual.NumeroDocumento[8].ToString()), int.Parse(inscricaoEstadual.NumeroDocumento[11].ToString()) }; int posicaoInicial = 0; int tamanho; string baseCalculo; for (int i = 0; i < 2; i++) { int soma; if (i == 0) { tamanho = 8; baseCalculo = inscricaoEstadual.ObterBaseDeCalculo(posicaoInicial, tamanho); soma = AplicarPeso(baseCalculo); } else { tamanho = inscricaoEstadual.NumeroDocumento.Length - 1; baseCalculo = inscricaoEstadual.ObterBaseDeCalculo(posicaoInicial, tamanho); soma = inscricaoEstadual.AplicarPeso(baseCalculo, PesoInicialSaoPaulo, PesoMaximoSaoPaulo); } digitoVerificadorCalculado[i] = CalcularDigitoDeControle(soma); } return(digitoVerificadorInformado[0] == digitoVerificadorCalculado[0] && digitoVerificadorInformado[1] == digitoVerificadorCalculado[1]); }
public static bool EhUmaInscricaoEstadualSaoPaulo(this InscricaoEstadual inscricaoEstadual) { if (inscricaoEstadual.NumeroDocumento.Length != TamanhoMinimoInscricaoEstadualSaoPaulo && inscricaoEstadual.NumeroDocumento.Length != TamanhoMaximoInscricaoEstadualSaoPaulo) { return(false); } if (inscricaoEstadual.NumeroDocumento[0] == ProdutorRural) { return(EhProdutorRural(inscricaoEstadual.NumeroDocumento)); } return(EhIndustriaOuComercio(inscricaoEstadual)); }