public void Executar(int loteId, IList <ImagemConta> imagensConta, CapturaFinalizada capturaFinalizada) { if (imagensConta.NaoTemConteudo()) { Log.Application.ErrorFormat( "Não foi possivel importar lote {0}. Não foram encontradas imagens para conta", loteId); return; } var primeiraImagem = imagensConta.First(); var cpf = primeiraImagem.Cpf.RemoverDiacritico(); var imagensPorTipo = imagensConta .GroupBy(x => x.TipoDocumentoId) .ToList(); var processo = this.processoRepositorio.ObterPorLoteId(loteId); var ficha = this.propostaAberturaConta.CriarPacVirtual(processo, cpf); this.indexacaoDocumento.Executar(ficha, cpf); this.AdicionarIndexacaoSignoNaFicha(ficha, capturaFinalizada); this.AdicionarIndexacaoLatitudeLongitudeNaFicha(ficha, capturaFinalizada); this.AdicionarIndexacaoVertrosNaFicha(ficha, cpf); this.AdicionarIndexacaoContaSemFoto(ficha, imagensConta); foreach (var imagens in imagensPorTipo) { this.adicionaDocumentoAoProcessoServico .Adicionar(loteId, imagens.ToList()); } }
private void AdicionarIndexacaoLatitudeLongitudeNaFicha(Documento ficha, CapturaFinalizada capturaFinalizada) { var indexacaoDocumento = this.indexacaoFabrica .Criar(ficha, Campo.ReferenciaDeArquivoLatitude, capturaFinalizada.Latitude.ToString()); this.AdicionarIndexacao(indexacaoDocumento); indexacaoDocumento = this.indexacaoFabrica .Criar(ficha, Campo.ReferenciaDeArquivoLongitude, capturaFinalizada.Longitude.ToString()); this.AdicionarIndexacao(indexacaoDocumento); }
private void AdicionarIndexacaoSignoNaFicha(Documento ficha, CapturaFinalizada capturaFinalizada) { if (string.IsNullOrEmpty(capturaFinalizada.Signo)) { return; } var indexacaoDocumento = this.indexacaoFabrica .Criar(ficha, Campo.ReferenciaDeArquivoSignoInformado, capturaFinalizada.Signo); this.AdicionarIndexacao(indexacaoDocumento); }