Exemplo n.º 1
0
        private int[] CalcularDigitoDeControle()
        {
            int[] digitoVerificadorCalculado = { 0, 0 };

            for (int i = 0; i < 2; i++)
            {
                int       peso        = 2;
                const int pesoMaximo  = 10;
                int       inicio      = 0;
                int       tamanho     = NumeroDocumento.Length - 4;
                string    baseCalculo = NumeroDocumento.Substring(inicio, tamanho);

                if (i > 0)
                {
                    peso        = 7;
                    inicio      = NumeroDocumento.Length - 4;
                    tamanho     = 3;
                    baseCalculo = NumeroDocumento.Substring(inicio, tamanho);
                }

                int soma = baseCalculo.AplicarPesoDaEsquerdaParaDireita(peso, pesoMaximo);

                digitoVerificadorCalculado[i] = (soma % 11) >= 10 ? 0 : (soma % 11);
            }

            return(digitoVerificadorCalculado);
        }
Exemplo n.º 2
0
        private TituloEleitor(string numeroTitulo, string zonaEleitoral, string secaoEleitoral) : base(numeroTitulo, null)
        {
            if (!string.IsNullOrEmpty(NumeroDocumento))
            {
                if (NumeroDocumento.Length < TamanhoTituloEleitor)
                {
                    NumeroDocumento = NumeroDocumento.PadLeft(TamanhoTituloEleitor, '0');
                }

                DomicilioEleitoral = NumeroDocumento.Substring(NumeroDocumento.Length - 4, 2);
                EstadoEmissor      = DomicilioEleitoral.ToDomicilioEleitoral();
            }

            ZonaEleitoral  = !string.IsNullOrEmpty(zonaEleitoral) ? zonaEleitoral.RemoverMascaraEdicao() : "";
            SecaoEleitoral = !string.IsNullOrEmpty(secaoEleitoral) ? secaoEleitoral.RemoverMascaraEdicao() : "";
        }
Exemplo n.º 3
0
        internal string ObterBaseDeCalculo(int posicaoInicial, int tamanho)
        {
            int tamanhoDocumento;
            var numeroBase = "";

            if (!string.IsNullOrEmpty(NumeroDocumento) && posicaoInicial >= 0)
            {
                tamanhoDocumento = NumeroDocumento.Length;
                if (tamanhoDocumento > posicaoInicial && tamanho <= tamanhoDocumento)
                {
                    numeroBase = NumeroDocumento.Substring(posicaoInicial, tamanho);
                }
            }

            return(numeroBase);
        }
Exemplo n.º 4
0
        private bool CodigoEstadoEmissorEhValido()
        {
            bool      estadoEmissorValido              = true;
            const int CodigoDomicilioEleitoralSp       = 1;
            const int CodigoDomicilioEleitoralExterior = 28;

            if (NumeroDocumento.Length == TamanhoTituloEleitor)
            {
                int posicaoInicial           = NumeroDocumento.Length - 4;
                int tamanho                  = 2;
                int codigoDomicilioEleitoral = int.Parse(NumeroDocumento.Substring(posicaoInicial, tamanho));

                if (codigoDomicilioEleitoral < CodigoDomicilioEleitoralSp || codigoDomicilioEleitoral > CodigoDomicilioEleitoralExterior)
                {
                    estadoEmissorValido = false;
                }
            }

            return(estadoEmissorValido);
        }
Exemplo n.º 5
0
        private int[] CalcularDigitoDeControle()
        {
            int[] digitoDeControleCalculado = { 0, 0 };

            for (int i = 0; i < 2; i++)
            {
                int    posicaoInicial = 0;
                int    tamanho        = NumeroDocumento.Length - 2 + i;
                string baseCalculo    = NumeroDocumento.Substring(posicaoInicial, tamanho);

                int soma = baseCalculo.AplicarPesoDaDireitaParaEsquerda(_pesoInicial, _pesoMaximo);

                digitoDeControleCalculado[i] = 11 - (soma % 11);
                if (digitoDeControleCalculado[i] >= 10)
                {
                    digitoDeControleCalculado[i] = 0;
                }
            }

            return(digitoDeControleCalculado);
        }
Exemplo n.º 6
0
 internal bool IniciaCom(string valor)
 {
     return(NumeroDocumento.Substring(0, valor.Length) == valor);
 }
Exemplo n.º 7
0
        private bool VerificarOrdem()
        {
            string ordemCnpj = NumeroDocumento.Substring(_tamanhoBaseCnpj, _tamanhoOrdemCnpj);

            return(!(string.Equals(ordemCnpj, "0000")));
        }