public bool CampoEstaBatido(Indexacao indexacao) { CampoBatido campoBatido = null; foreach (CampoBatido campo in this.Campos) { if (campo.Indexacao == indexacao) { campoBatido = campo; break; } } return(campoBatido != null && campoBatido.Batido); }
public void AdicionarOuEditar(CampoBatido campoBatido) { if (this.JaExisteResultadoBatido(campoBatido)) { return; } if (this.JaExisteResultadoNaoBatido(campoBatido)) { this.AtribuirNovoValor(campoBatido); return; } this.Campos.Add(campoBatido); }
private void AtribuirNovoValor(CampoBatido campoBatido) { var camp = this.Campos.FirstOrDefault(campo => campo.Indexacao == campoBatido.Indexacao); if (camp == null) { return; } Log.Application.DebugFormat( "AtribuirNovoValor::Documento {0} Campo {1} resultado {2}", camp.Indexacao.Documento.Id, camp.Indexacao.Campo.Description, campoBatido.Batido); camp.Batido = campoBatido.Batido; camp.TipoBatimento = campoBatido.TipoBatimento; }
public CampoBatido Entre( Indexacao indexacao, IList <PalavraReconhecida> palavrasReconhecidas) { var batimento = IoC.Current.Resolve(typeof(T)); this.ConfigurarProximaTentativa( indexacao, (IBatimentoFullTextCampo)batimento); var batido = ((IBatimentoFullTextCampo)batimento) .EstaBatido(indexacao, palavrasReconhecidas); var campoBatido = new CampoBatido { Indexacao = indexacao, Batido = batido, TipoBatimento = TipoBatimento.FullText }; return(campoBatido); }
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); }
private bool JaExisteResultadoBatido(CampoBatido campoBatido) { return(this.Campos.Any( index => index.Indexacao == campoBatido.Indexacao && index.Batido)); }