Exemplo n.º 1
0
        public MemoryStream Gerar(int id)
        {
            ArquivoDocCaminho = @"~/Content/_pdfAspose/Termo_Habilitacao_Func.docx";

            HabilitacaoEmissaoPTVRelatorio dataSource = new HabilitacaoEmissaoPTVRelatorio();

            dataSource = _da.Obter(id);

            ObterArquivoTemplate();

            ConfigurarCabecarioRodape(0);

            #region Configurar

            ConfiguracaoDefault.AddLoadAcao((doc, dataSourceCnf) =>
            {
                List <Row> itensRemover = new List <Row>();

                if (dataSource.Foto != null && dataSource.Foto.Buffer != null && !String.IsNullOrWhiteSpace(dataSource.Foto.Caminho))
                {
                    dataSource.Foto.Conteudo = AsposeImage.RedimensionarImagem(File.ReadAllBytes(dataSource.Foto.Caminho), 3.5f, eAsposeImageDimensao.Ambos);
                }
                else
                {
                    var cam = HttpContext.Current.Server.MapPath(@"~/Content/_img/foto3x4.jpg");

                    dataSource.Foto.Conteudo = AsposeImage.RedimensionarImagem(File.ReadAllBytes(cam), 3.5f, eAsposeImageDimensao.Ambos);
                }
                itensRemover.ForEach(x => x.Remove());
            });

            #endregion

            return(GerarPdf(dataSource));
        }
        internal HabilitacaoEmissaoPTVRelatorio Obter(int id)
        {
            HabilitacaoEmissaoPTVRelatorio habilitacao = null;

            using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia())
            {
                #region SQL
                Comando comando = bancoDeDados.CriarComando(@"select 
																t.arquivo, 
																t.id, 
																t.numero_habilitacao, 
																t.numero_matricula, 
																f.nome, 
																p.texto profissao, 
																o.orgao_sigla orgao_classe, 
																f.cpf, 
																t.rg, 
																t.registro_orgao_classe, 
																m.texto municipio, 
																e.sigla estado, 
																t.cep, 
																t.telefone_residencial, 
																t.telefone_celular, 
																t.telefone_comercial, 
																(t.logradouro || ' ' || t.numero || ' ' || t.bairro_gleba || ' ' || t.distrito_localidade) endereco, 
																f.email, 
																t.numero_visto_crea 
															from tab_hab_emi_ptv t, tab_funcionario f, tab_profissao p, tab_orgao_classe o, lov_municipio m, lov_estado e 
															where f.id(+) = t.funcionario 
															  and p.id(+) = t.profissao 
															  and o.id(+) = t.orgao_classe 
															  and m.id(+) = t.municipio 
															  and e.id(+) = t.estado 
															  and t.id    =:id"                                                            );
                #endregion

                comando.AdicionarParametroEntrada("id", id, DbType.Int32);

                using (IDataReader reader = bancoDeDados.ExecutarReader(comando))
                {
                    while (reader.Read())
                    {
                        habilitacao                   = new HabilitacaoEmissaoPTVRelatorio();
                        habilitacao.CEP               = reader.GetValue <string>("cep");
                        habilitacao.CPF               = reader.GetValue <string>("cpf");
                        habilitacao.CreaNumero        = reader.GetValue <string>("numero_visto_crea");
                        habilitacao.CreaRegistro      = reader.GetValue <string>("registro_orgao_classe");
                        habilitacao.Email             = reader.GetValue <string>("email");
                        habilitacao.Endereco          = reader.GetValue <string>("endereco");
                        habilitacao.HabilitacaoNumero = reader.GetValue <string>("numero_habilitacao");
                        habilitacao.Id                = reader.GetValue <int>("id");
                        habilitacao.MatriculaNumero   = reader.GetValue <string>("numero_matricula");
                        habilitacao.Municipio         = reader.GetValue <string>("municipio");
                        habilitacao.Nome              = reader.GetValue <string>("nome");
                        habilitacao.Profissao         = reader.GetValue <string>("profissao");
                        habilitacao.RG                = reader.GetValue <string>("rg");
                        habilitacao.OrgaoClasse       = reader.GetValue <string>("orgao_classe");
                        habilitacao.TelCelular        = reader.GetValue <string>("telefone_celular");
                        habilitacao.TelComercial      = reader.GetValue <string>("telefone_comercial");
                        habilitacao.TelResidencial    = reader.GetValue <string>("telefone_residencial");
                        habilitacao.UF                = reader.GetValue <string>("estado");
                        habilitacao.Foto.Id           = reader.GetValue <int>("arquivo");

                        habilitacao.TermoNumero = habilitacao.HabilitacaoNumero.Substring(habilitacao.HabilitacaoNumero.Length - 4) + "/" + habilitacao.HabilitacaoNumero.Substring(habilitacao.HabilitacaoNumero.Length - 6, 2);
                    }
                    reader.Close();
                }

                #region Arquivo

                if (habilitacao.Foto.Id.HasValue && habilitacao.Foto.Id > 0)
                {
                    ArquivoBus _busArquivo = new ArquivoBus(eExecutorTipo.Interno);

                    habilitacao.Foto = _busArquivo.Obter(habilitacao.Foto.Id.Value);
                }

                #endregion
            }

            return(habilitacao);
        }