public override bool EstaBatido(IIndexacaoMapeada indexacaoMapeada) { var comparador = this.criadorDeComparador.Cria(indexacaoMapeada.Indexacao.Campo.TipoCampo); var batido = comparador.SaoIguais( indexacaoMapeada.ObterValorParaBatimento(), indexacaoMapeada.ValorReconhecido.Value); if (batido == false) { if (this.proximaTentativa.NaoTemConteudo() == false) { batido = this.proximaTentativa.EstaBatido(indexacaoMapeada); } } return(batido); }
public override bool EstaBatido(IIndexacaoMapeada indexacaoMapeada) { if (this.PodeProcessarCampo(indexacaoMapeada.Campo) == false) { return(false); } var indexacaoCompleta = indexacaoMapeada .Indexacao .Documento .Indexacao; var valoresReconhecidos = this.valorReconhecidoRepositorio .ObtemPorDocumento(indexacaoMapeada.Indexacao.Documento.Id); var cepDoCadastro = this.ObterValorCampoCepDoCadastroDoBanco(indexacaoCompleta); var endereco = this.ObtemEnderecoDoCepCoincidenteDoReconhecimento(valoresReconhecidos, cepDoCadastro); if (endereco.Cep.Equals(0) == false) { if (this.tagRepositorio.ObterValorPorNome("BATE_END_ANTES_DE_ATRIBUIR", "true").ToBoolean() == false) { var observacao = string.Format( "Campo [{0}] do documento {1} batido pelo serviço de cep sem batimento", indexacaoMapeada.Indexacao.Campo.Description, indexacaoMapeada.Indexacao.Documento.Id); this.gravaLogDocumentoServico.Executar( LogDocumento.AcaoDocumentoOcr, indexacaoMapeada.Indexacao.Documento.Id, observacao); if (indexacaoMapeada.Indexacao.Campo.Id.Equals(858)) { if (string.IsNullOrEmpty(indexacaoMapeada.Indexacao.ObterValorParaBatimento()) || string.IsNullOrWhiteSpace(indexacaoMapeada.Indexacao.ObterValorParaBatimento())) { Log.Application.InfoFormat( "Para indexacao [{0}] do campo complemento com valor null ou espaçado foi [{1}] Comparador:{2}", indexacaoMapeada.Indexacao.Id, true, "BATE_END_ANTES_DE_ATRIBUIR"); } } return(true); } } var comparador = this.criadorDeComparador.Cria(indexacaoMapeada.Indexacao.Campo.TipoCampo); var valorEndereco = this.CriarRetornoEndereco(endereco); var batido = comparador.SaoIguais( indexacaoMapeada.ObterValorParaBatimento(), valorEndereco[indexacaoMapeada.Indexacao.Campo.ReferenciaArquivo]); if (batido) { var observacao = string.Format( "Campo [{0}] do documento {1} batido pelo serviço de cep com batimento", indexacaoMapeada.Indexacao.Campo.Description, indexacaoMapeada.Indexacao.Documento.Id); this.gravaLogDocumentoServico.Executar( LogDocumento.AcaoDocumentoOcr, indexacaoMapeada.Indexacao.Documento.Id, observacao); } if (indexacaoMapeada.Indexacao.Campo.Id.Equals(858)) { if (string.IsNullOrEmpty(indexacaoMapeada.Indexacao.ObterValorParaBatimento()) || string.IsNullOrWhiteSpace(indexacaoMapeada.Indexacao.ObterValorParaBatimento())) { Log.Application.InfoFormat( "Para indexacao [{0}] do campo complemento com valor null ou espaçado foi [{1}] Comparador:{2}", indexacaoMapeada.Indexacao.Id, batido, comparador); } } return(batido); }