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]);
        }
Exemplo n.º 2
0
        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 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 EhUmaInscricaoEstadualTocantins(this InscricaoEstadual inscricaoEstadual)
        {
            if (inscricaoEstadual.NumeroDocumento.Length != TamanhoInscricaoEstadualTocantins)
            {
                return(false);
            }

            int    posicaoInicial = 0;
            int    tamanho        = 2;
            string baseCalculo    = inscricaoEstadual.ObterBaseDeCalculo(posicaoInicial, tamanho);

            posicaoInicial = 4;
            tamanho        = inscricaoEstadual.NumeroDocumento.Length - 5;
            baseCalculo   += inscricaoEstadual.ObterBaseDeCalculo(posicaoInicial, tamanho);

            int soma = inscricaoEstadual.AplicarPeso(baseCalculo, PesoInicialTocantins, PesoMaximoTocantins);

            int digitoVerificadorCalculado = CalcularDigitoDeControle(soma);

            int digitoVerificadorInformado = inscricaoEstadual.ObterUltimoDigitoDeControleInformado();

            return(digitoVerificadorInformado == digitoVerificadorCalculado);
        }
Exemplo n.º 5
0
        public static bool EhUmaInscricaoEstadualPara(this InscricaoEstadual inscricaoEstadual)
        {
            if (inscricaoEstadual.NumeroDocumento.Length != TamanhoInscricaoEstadualPara || !inscricaoEstadual.IniciaCom(CodigoEstadoPara))
            {
                return(false);
            }

            int posicaoInicial = 0;
            int tamanho        = inscricaoEstadual.NumeroDocumento.Length - 1;

            string baseCalculo = inscricaoEstadual.ObterBaseDeCalculo(posicaoInicial, tamanho);

            int soma = inscricaoEstadual.AplicarPeso(baseCalculo, PesoInicialPara, PesoMaximoPara);

            int digitoVerificadorCalculado = CalcularDigitoDeControle(soma);

            int digitoVerificadorInformado = inscricaoEstadual.ObterUltimoDigitoDeControleInformado();

            return(digitoVerificadorInformado == digitoVerificadorCalculado);
        }