Esempio n. 1
0
        public void Relatorio()
        {
            try
            {
                StringBuilder conteudo = new StringBuilder();
                conteudo.Append("<h2> Relatorio de Produtos </h2>");
                conteudo.Append($"Relatório gerado em: {DateTime.Now}");
                conteudo.Append("<br/><br/>");

                ProdutoBusiness business = new ProdutoBusiness();
                List <Produto>  lista    = business.ConsultarProduto();

                conteudo.Append("<table border='1' style='width=100%'>");

                conteudo.Append("<tr>");

                conteudo.Append("<th>Codigo</th>");
                conteudo.Append("<th>Nome</th>");
                conteudo.Append("<th>Preço</th>");
                conteudo.Append("<th>Quantidade</th>");
                conteudo.Append("<th>Estoque</th>");

                conteudo.Append("</tr>");


                foreach (Produto produto in lista)
                {
                    conteudo.Append("<tr>");

                    conteudo.Append($"<td>{produto.IdProduto}</td>");
                    conteudo.Append($"<td>{produto.Nome}</td>");
                    conteudo.Append($"<td>{produto.Preco}</td>");
                    conteudo.Append($"<td>{produto.Quantidade}</td>");
                    conteudo.Append($"<td>{produto.Estoque.Nome}</td>");

                    conteudo.Append("</tr>");
                }

                conteudo.Append("</table>");

                //converter PDF ...
                byte[] pdf = ReportUtil.GetPdfFile(conteudo.ToString());
                //download

                Response.Clear();
                Response.ContentType = "application/pdf";
                Response.AddHeader("content-disposition",
                                   "attachment; filename=relatorio.pdf");
                Response.Cache.SetCacheability(HttpCacheability.NoCache);
                Response.BinaryWrite(pdf);
                Response.End();
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
            }
        }