public static MemoryStream GerarCheckListRoteiroPdf(int id) { ChecagemRoteiroDa _da = new ChecagemRoteiroDa(); ChecagemRoteiroRelatorio checkListRoteiro = _da.Obter(id); return(GerarCheckListRoteiroPdf(checkListRoteiro)); }
public static MemoryStream GerarCheckListRoteiroPdf(ChecagemRoteiroRelatorio checkListRoteiro) { Document doc = new Document(PageSize.A4, 45, 45, 85, 50); MemoryStream str = new MemoryStream(); PdfWriter wrt = PdfWriter.GetInstance(doc, str); wrt.SetEncryption(PdfWriter.STRENGTH128BITS, null, null, PdfWriter.AllowPrinting); wrt.PageEvent = CabecalhoRodapeFactory.Criar(); doc.Open(); PdfPTable tabelaDocumento = PdfMetodosAuxiliares.CriarTabela(2, new float[] { 20, 80 }); PdfMetodosAuxiliares.AddTituloData(doc, "Relatório de Pendências de Itens de Roteiro"); #region CheckList Roteiro tabelaDocumento.DefaultCell.Colspan = 2; if (checkListRoteiro.Id != 0) { tabelaDocumento.DefaultCell.BorderWidth = 0; tabelaDocumento.AddCell(PdfMetodosAuxiliares.AddCampoValor("Nº da checagem", checkListRoteiro.Id.ToString())); } tabelaDocumento.DefaultCell.BorderWidth = 0.5f; tabelaDocumento.DefaultCell.BackgroundColor = PdfMetodosAuxiliares.celulaCorPrata; tabelaDocumento.AddCell(new Phrase("Interessado", PdfMetodosAuxiliares.arial10Negrito)); tabelaDocumento.DefaultCell.BackgroundColor = BaseColor.WHITE; tabelaDocumento.AddCell(new Phrase(checkListRoteiro.Interessado, PdfMetodosAuxiliares.arial10)); tabelaDocumento.DefaultCell.BackgroundColor = PdfMetodosAuxiliares.celulaCorPrata; tabelaDocumento.AddCell(new Phrase("Roteiro Orientativo", PdfMetodosAuxiliares.arial10Negrito)); tabelaDocumento.DefaultCell.BackgroundColor = BaseColor.WHITE; tabelaDocumento.DefaultCell.Padding = 0; PdfPTable tabelaInterior = PdfMetodosAuxiliares.CriarTabela(2, new float[] { 10, 80 }); tabelaInterior.DefaultCell.BorderWidth = 0.5f; for (int i = 0; i < checkListRoteiro.Roteiros.Count; i++) { tabelaInterior.AddCell(PdfMetodosAuxiliares.AddCampoValor(" Versão", checkListRoteiro.Roteiros[i].Versao.ToString(), PdfMetodosAuxiliares.arial10, PdfMetodosAuxiliares.arial10)); tabelaInterior.AddCell(new Phrase(checkListRoteiro.Roteiros[i].Nome, PdfMetodosAuxiliares.arial10)); } tabelaDocumento.AddCell(tabelaInterior); //#region Itens PdfMetodosAuxiliares.PularLinha(tabelaDocumento); tabelaDocumento.AddCell(CarregarItens(checkListRoteiro.Itens.Where(x => x.SituacaoId == 1).ToList(), "Itens Pendentes")); PdfMetodosAuxiliares.PularLinha(tabelaDocumento); tabelaDocumento.AddCell(CarregarItens(checkListRoteiro.Itens.Where(x => x.SituacaoId == 2).ToList(), "Itens Conferidos")); PdfMetodosAuxiliares.PularLinha(tabelaDocumento); tabelaDocumento.AddCell(CarregarItens(checkListRoteiro.Itens.Where(x => x.SituacaoId == 3).ToList(), "Itens Dispensados")); #endregion doc.Add(tabelaDocumento); doc.Close(); doc.Dispose(); return(str); }
internal ChecagemRoteiroRelatorio Obter(int id) { ChecagemRoteiroRelatorio checagem = new ChecagemRoteiroRelatorio(); using (BancoDeDados bancoDeDados = BancoDeDados.ObterInstancia()) { #region Checagem de item de roteiro Comando comando = bancoDeDados.CriarComando(@"select c.interessado, ls.id situacao_id, ls.texto situacao_texto, c.tid from tab_checagem c, lov_checagem_situacao ls where c.situacao = ls.id and c.id = :id" ); comando.AdicionarParametroEntrada("id", id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { if (reader.Read()) { checagem.Id = id; checagem.Tid = reader["tid"].ToString(); checagem.Interessado = reader["interessado"].ToString(); if (reader["situacao_id"] != null && !Convert.IsDBNull(reader["situacao_id"])) { checagem.Situacao = Convert.ToInt32(reader["situacao_id"]); checagem.SituacaoTexto = reader["situacao_texto"].ToString(); } } reader.Close(); } #endregion #region Checagem - Roteiros comando = bancoDeDados.CriarComando(@"select r.nome, r.versao from tab_checagem_roteiro c, tab_roteiro r where c.roteiro = r.id and c.checagem = :checagem"); comando.AdicionarParametroEntrada("checagem", checagem.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { while (reader.Read()) { RoteiroRelatorio roteiro = new RoteiroRelatorio(); roteiro.Nome = reader["nome"].ToString(); roteiro.Versao = Convert.ToInt32(reader["versao"]); checagem.Roteiros.Add(roteiro); } reader.Close(); } #endregion #region Checagem - Itens comando = bancoDeDados.CriarComando(@" select ri.nome, c.situacao, c.motivo, ri.condicionante from tab_checagem_itens c, tab_roteiro_item ri where c.item_id = ri.id and c.checagem = :checagem" ); comando.AdicionarParametroEntrada("checagem", checagem.Id, DbType.Int32); using (IDataReader reader = bancoDeDados.ExecutarReader(comando)) { ItemRelatorio item; while (reader.Read()) { item = new ItemRelatorio(); item.SituacaoId = Convert.ToInt32(reader["situacao"]); item.Nome = reader["nome"].ToString(); item.Condicionante = reader["condicionante"].ToString(); item.Motivo = reader["motivo"].ToString(); checagem.Itens.Add(item); } reader.Close(); } #endregion } return(checagem); }