示例#1
0
        private ResultadoBatimentoDocumento RealizarBatimentoPorCampoNaoBatido(
            ImagemReconhecida imagemReconhecida,
            ResultadoBatimentoDocumento resultadoBatimento,
            List <CampoBatido> camposNaoBatidos)
        {
            foreach (var campoNaoBatido in camposNaoBatidos)
            {
                var batimentoCampo = this.batimentoCampoFactory.Criar(campoNaoBatido.Indexacao);

                var resultadoDoCampo = batimentoCampo.Entre(campoNaoBatido.Indexacao, imagemReconhecida.Palavras);

                resultadoBatimento.AdicionarOuEditar(resultadoDoCampo);
            }

            return(resultadoBatimento);
        }
示例#2
0
        public ResultadoBatimentoDocumento Entre(Documento documento, ImagemReconhecida imagemReconhecida)
        {
            var indexacoesMapeadas = this.indexacaoMapeada.ComValoresReconhecidos(
                documento.Indexacao.ToList(),
                imagemReconhecida.ValoresReconhecidos);

            var resultadoBatimento = new ResultadoBatimentoDocumento();

            var batimento = IoC.Current.Resolve(typeof(TBatimentoIndexacaoMapeada));

            var batimentoResidencia = ((IBatimentoIndexacaoMapeada)batimento)
                                      .ProximaTentativa(IoC.Current.Resolve <ComprovanteResidenciaConsultaCepBatimento>());

            ////Caso haja a necessidade de incluir mais classes de batimento pode-se hierarquizar como abaixo:
            //// var batimentoRg = ((IBatimentoIndexacaoMapeada)batimento)
            ////    .ProximaTentativa(IoC.Current.Resolve<RgBatimento>());
            ////
            //// var batimentoRgReceita = ((IBatimentoIndexacaoMapeada)batimento)
            ////    .ProximaTentativa(IoC.Current.Resolve<RgConsultaReceitaBatimento>());

            foreach (var mapeada in indexacoesMapeadas)
            {
                var batido = ((IBatimentoIndexacaoMapeada)batimento).EstaBatido(mapeada);

                var campoBatido = new CampoBatido
                {
                    Indexacao     = mapeada.Indexacao,
                    Batido        = batido,
                    TipoBatimento = TipoBatimento.Template
                };

                resultadoBatimento.AdicionarOuEditar(campoBatido);
            }

            return(resultadoBatimento);
        }