コード例 #1
0
        private void AdicionarDocumentosAoDossie(PacoteParaExportar pacoteParaExportar, Dossie dossie, string sequencial, Processo processo)
        {
            var documentos = this.documentoRepositorio
                             .ObterTodosPorLoteComTipoDocumento(processo.Lote.Id);

            ////a) NUMERO_CONTRATO+TIPO_CONTRATO+CODIGO_TIPO_DOCUMENTO+CODIGO_SEQUENCIA.PDF
            var somentePdfs = documentos.Where(
                x => x.Status != DocumentoStatus.Excluido &&
                x.Virtual);

            foreach (var documento in somentePdfs)
            {
                var nomePdf = string.Format(
                    "{0}_{1}_{2}_{3}",
                    processo.Identificacao.RemoverDiacritico().Replace(@"/", string.Empty),
                    processo.TipoDeProcesso.Descricao.RemoverDiacritico().RemoverEspacosEntreAsPalavras(),
                    documento.TipoDocumento.Id,
                    documento.Id);

                var itemDocumental = new ItemDocumental
                {
                    NumeroDossie    = processo.Identificacao,
                    TipoDocumento   = documento.TipoDocumento.Description,
                    NomeParaArquivo = nomePdf,
                    DocumentoId     = documento.Id
                };

                dossie.AdicionarItemDocumental(itemDocumental);
            }

            pacoteParaExportar.AdicionarDossier(dossie);
        }
コード例 #2
0
        private void CriarXml(PacoteParaExportar pacote, string nomeArquivoXml)
        {
            var serializer = new XmlSerializer(typeof(PacoteParaExportar));

            Files.DeleteIfExist(nomeArquivoXml);

            using (var filestream = new FileStream(nomeArquivoXml, FileMode.CreateNew))
            {
                serializer.Serialize(filestream, pacote);
            }
        }
コード例 #3
0
        public PacoteParaExportar Criar(int pacoteId)
        {
            var pacote = this.pacoteRepositorio.ObterComColetaPorId(pacoteId);

            var pacoteParaExportar = new PacoteParaExportar
            {
                Identificacao = pacote.Coleta.Id.ToString(),
                Data          = pacote.Coleta.Data,
                Regiao        = "PR"
            };

            var processos = this.processoRepositorio.ObterPorPacoteComStatusFinalizado(pacoteId);

            Log.Application.Info("Pacotes encontrados: " + processos.Count);
            pacoteParaExportar = this.ObterComDossiers(pacoteParaExportar, processos);

            return(pacoteParaExportar);
        }
コード例 #4
0
        private PacoteParaExportar ObterComDossiers(PacoteParaExportar pacoteParaExportar, IList <Processo> processos)
        {
            foreach (var processo in processos)
            {
                var sequencial = processo.Lote.Identificacao.Substring(processo.Lote.Identificacao.Length - 4, 4);

                var dossie = new Dossie
                {
                    DataGeracaoXml      = DateTime.Now,
                    NumeroContrato      = processo.Identificacao,
                    QuantidadePaginas   = processo.QtdePaginas,
                    Sequencial          = sequencial.ToInt(),
                    TipoDossieDescricao = processo.TipoDeProcesso.Descricao,
                    TipoDossieId        = processo.TipoDeProcesso.Id,
                    ProcessoId          = processo.Id
                };

                this.AdicionarDocumentosAoDossie(pacoteParaExportar, dossie, sequencial, processo);
            }

            return(pacoteParaExportar);
        }
コード例 #5
0
        public void Executar(PacoteParaExportar pacoteParaExportar)
        {
            var nomePacote = string.Format(
                "{0}_{1}_{2}",
                pacoteParaExportar.Identificacao.RemoverDiacritico(),
                pacoteParaExportar.Data.ToString("ddMMyyyy"),
                pacoteParaExportar.Regiao);

            var caminhoExportacaoDoPacote = Path.Combine(
                Configuracao.CaminhoDeArquivosExportacao,
                nomePacote);

            Directories.CreateIfNotExist(caminhoExportacaoDoPacote);

            var caminhoPacoteXml = Path.Combine(caminhoExportacaoDoPacote, nomePacote + ".xml");

            this.CriarXml(pacoteParaExportar, caminhoPacoteXml);

            foreach (var dossie in pacoteParaExportar.Dossies)
            {
                this.GerarXmlDossie(caminhoExportacaoDoPacote, dossie);
                this.GerarItensDocumentais(caminhoExportacaoDoPacote, dossie);
            }
        }