Ejemplo n.º 1
0
        private string ObterPrimeiroValor(
            ValorReconhecido valorReconhecido,
            Campo campoDoDocumento)
        {
            if (Campo.CamposAssinaturaGerenteDaConta.Contains(campoDoDocumento.Id))
            {
                if (valorReconhecido == null)
                {
                    return("NP");
                }

                return(valorReconhecido.Value == "Yes" ? "P" : "NP");
            }

            if (Campo.CamposIndicadorMensalidadeMenor.Contains(campoDoDocumento.Id))
            {
                if (valorReconhecido == null)
                {
                    return("Erro");
                }

                return(valorReconhecido.Value);
            }

            if (valorReconhecido.NaoTemConteudo())
            {
                return(string.Empty);
            }

            if (valorReconhecido.Value.NaoTemConteudo())
            {
                return(string.Empty);
            }

            ////if (Campo.CamposVersaoDaPac.Contains(campoDoDocumento.Id))
            ////{
            ////    return VersaoPacHelper.Converter(valorReconhecido.Value);
            ////}

            ////if (Campo.CamposAgenciaDaPac.Contains(campoDoDocumento.Id))
            ////{
            ////    return AgenciaHelper.Converter(valorReconhecido.Value);
            ////}

            ////if (Campo.CamposContasDaPac.Contains(campoDoDocumento.Id))
            ////{
            ////    return ContaHelper.Converter(valorReconhecido.Value);
            ////}

            if (campoDoDocumento.TipoDado == TipoDado.Bool)
            {
                return(valorReconhecido.Value == "Sim" ? "S" : "N");
            }

            return(valorReconhecido.Value);
        }
        protected override Indexacao AdicionaNovaIndexacaoParaCampoReconhecido(
            Documento documento,
            ValorReconhecido valorReconhecido,
            Campo campoDoDocumento)
        {
            var indexacao = new Indexacao
            {
                Campo = campoDoDocumento,
                DataPrimeiraDigitacao = DateTime.Now
            };

            documento.AdicionaIndexacao(indexacao);

            if (campoDoDocumento.Id != Campo.CampoDtEmissaoNumerica &&
                campoDoDocumento.Id != Campo.CampoDtNascimentoNumerica)
            {
                return(indexacao);
            }

            //// so deve inserir para campos CampoDt*******Numerica se tiver
            ////  reconhecido o conteúdo do respectivo campo original
            Indexacao indexacaoCampoOriginal = null;

            if (campoDoDocumento.Id == Campo.CampoDtEmissaoNumerica)
            {
                indexacaoCampoOriginal = this.indexacaoRepositorio
                                         .ObterPorCampoDeUmDocumento(Campo.CampoDataEmissao, documento);
            }

            if (campoDoDocumento.Id == Campo.CampoDtNascimentoNumerica)
            {
                indexacaoCampoOriginal = this.indexacaoRepositorio
                                         .ObterPorCampoDeUmDocumento(Campo.CampoDataNascimento, documento);
            }

            if (this.CampoOriginalFoiReconhecido(indexacaoCampoOriginal) == false)
            {
                indexacao.PrimeiroValor   = string.Empty;
                indexacao.ValorFinal      = string.Empty;
                indexacao.OcrComplementou = false;

                return(indexacao);
            }

            try
            {
                var campoMesEhNumero = this.validaDadosReconhecidosCampoData
                                       .PossuiMesNumerico(indexacaoCampoOriginal);

                if (campoMesEhNumero)
                {
                    indexacao.PrimeiroValor   = "S";
                    indexacao.ValorFinal      = "S";
                    indexacao.OcrComplementou = true;
                }

                return(indexacao);
            }
            catch (Exception exception)
            {
                Log.Application.Info(exception.Message);
            }

            if (valorReconhecido.NaoTemConteudo() || valorReconhecido.Value == "E")
            {
                indexacao.PrimeiroValor   = string.Empty;
                indexacao.ValorFinal      = string.Empty;
                indexacao.OcrComplementou = false;

                return(indexacao);
            }

            indexacao.PrimeiroValor   = valorReconhecido.Value;
            indexacao.ValorFinal      = valorReconhecido.Value;
            indexacao.OcrComplementou = true;

            return(indexacao);
        }