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); }
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() : ""; }
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); }
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); }
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); }
internal bool IniciaCom(string valor) { return(NumeroDocumento.Substring(0, valor.Length) == valor); }
private bool VerificarOrdem() { string ordemCnpj = NumeroDocumento.Substring(_tamanhoBaseCnpj, _tamanhoOrdemCnpj); return(!(string.Equals(ordemCnpj, "0000"))); }