Exemplo n.º 1
0
        public Roteiro Obter(int id, string tid = null)
        {
            Roteiro roteiro = null;

            try
            {
                if (tid == null || _da.VerificarTidAtual(id, tid))
                {
                    roteiro = _da.Obter(id);

                    if (roteiro.Atividades.Count > 0)
                    {
                        roteiro.ModelosAtuais = ObterModelosAtividades(roteiro.Atividades);
                    }

                    if (roteiro.ModelosAtuais.Count > 0)
                    {
                        roteiro.Modelos.ForEach(x =>
                        {
                            TituloModeloLst modelo = roteiro.ModelosAtuais.SingleOrDefault(y => y.Id == x.Id);
                            if (modelo != null)
                            {
                                modelo.IsAtivo = true;
                            }
                        });
                    }
                }
                else
                {
                    roteiro = _da.ObterHistorico(id, tid);
                }
            }
            catch (Exception exc)
            {
                Validacao.AddErro(exc);
            }
            return(roteiro);
        }
Exemplo n.º 2
0
        public MemoryStream Gerar(int id, string tid)
        {
            ArquivoDocCaminho = @"~/Content/_pdfAspose/Roteiro.doc";

            RoteiroDa        _da        = new RoteiroDa();
            RoteiroRelatorio dataSource = (tid == string.Empty) ? _da.Obter(id) : _da.Obter(id, tid);

            dataSource.ObservacoesHtml = dataSource.Observacoes;

            dataSource.ItensTecnicos        = dataSource.Itens.Where(x => x.Tipo == 1).OrderBy(x => x.Ordem).ToList();
            dataSource.ItensAdministrativos = dataSource.Itens.Where(x => x.Tipo == 2).OrderBy(x => x.Ordem).ToList();

            int num = 1;

            dataSource.ItensTecnicos.ForEach(x => x.Numero = num++);
            num = 1;
            dataSource.ItensAdministrativos.ForEach(x => x.Numero = num++);


            ObterArquivoTemplate();

            #region Configurar Assinantes

            ConfiguracaoDefault.TextoTagAssinante   = "«Assinante.Nome»";
            ConfiguracaoDefault.TextoTagAssinantes1 = "«TableStart:Assinantes1»";
            ConfiguracaoDefault.TextoTagAssinantes2 = "«TableStart:Assinantes2»";

            #endregion

            #region Configurar Cabecalho Rodapé

            ConfigurarCabecarioRodape(dataSource.SetorId);

            #endregion

            #region Configurar Tabelas

            ConfiguracaoDefault.AddLoadAcao((doc, dataSrc) =>
            {
                List <Table> tabelas = new List <Table>();

                if (dataSource.ItensTecnicos == null || dataSource.ItensTecnicos.Count <= 0)
                {
                    tabelas.Add(doc.LastTable("«TableStart:ItensTecnicos»"));
                }

                if (dataSource.ItensAdministrativos == null || dataSource.ItensAdministrativos.Count <= 0)
                {
                    tabelas.Add(doc.LastTable("«TableStart:ItensAdministrativos»"));
                }

                if (dataSource.Anexos == null || dataSource.Anexos.Count <= 0)
                {
                    tabelas.Add(doc.FindTable("«TableEnd:Anexos»"));
                }

                if (string.IsNullOrEmpty(dataSource.ObservacoesHtml))
                {
                    tabelas.Add(doc.FindTable("«ObservacoesHtml»"));
                }

                AsposeExtensoes.RemoveTables(tabelas);
            });

            #endregion

            #region Assinantes

            /*AssinanteDefault assinante = null;
             *
             * if (dataSource.Interessado.Id > 0)
             * {
             *      assinante = new AssinanteDefault();
             *      assinante.Nome = dataSource.Interessado.NomeRazaoSocial;
             *      ConfiguracaoDefault.Assinantes.Add(assinante);
             * }
             *
             * foreach (ResponsavelTecnico responsavel in dataSource.Responsaveis)
             * {
             *      assinante = new AssinanteDefault();
             *      assinante.Nome = responsavel.NomeRazao;
             *      ConfiguracaoDefault.Assinantes.Add(assinante);
             * }*/

            #endregion

            return(MergePdf(GerarPdf(dataSource), dataSource.Anexos.Select(x => x.Arquivo).ToList()));
        }