예제 #1
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);
        }
예제 #2
0
        public static bool EhUmaInscricaoEstadualRoraima(this InscricaoEstadual inscricaoEstadual)
        {
            if (inscricaoEstadual.NumeroDocumento.Length != TamanhoInscricaoEstadualRoraima ||
                !inscricaoEstadual.IniciaCom(CodigoEstadoRoraima))
            {
                return(false);
            }

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

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

            int soma = AplicarPeso(baseCalculo, PesoInicialRoraima, PesoMinimoRoraima);

            int digitoVerificadorCalculado = CalcularDigitoDeControle(soma);

            int digitoVerificadorInformado = inscricaoEstadual.ObterUltimoDigitoDeControleInformado();

            return(digitoVerificadorInformado == digitoVerificadorCalculado);
        }
        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]);
        }