Esempio n. 1
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 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]);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 7
0
        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);
        }