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);
        }