예제 #1
0
        static public void GerarEstoque(string nomeArquivo)
        {
            ProdutoEstoqueDAO     produtoEstoqueDAO = new ProdutoEstoqueDAO();
            List <ProdutoEstoque> produtos          = produtoEstoqueDAO.ListAll();

            /* Cria um documento */
            Document relatorio = new Document(PageSize.A4);

            relatorio.AddCreationDate();

            /* Cria o arquivo PDF */
            PdfWriter pdfWriter = PdfWriter.GetInstance(relatorio,
                                                        new FileStream(nomeArquivo, FileMode.Create));

            /* Abre o documento criado */
            relatorio.Open();

            /* Título do Relatório */
            Paragraph titulo = new Paragraph();

            titulo.Alignment = Element.ALIGN_CENTER;
            titulo.Add("Relatório de Estoque\n");
            titulo.Add("Emitido em: " + DateTime.Now.ToShortDateString() + "     " +
                       DateTime.Now.ToShortTimeString() + "\n\n\n");

            relatorio.Add(titulo);

            /* Tabela com os produtos */
            PdfPTable tabela = new PdfPTable(new float[] { 100, 60, 40, 50 });

            tabela.AddCell(new Phrase("Produto", new Font(Font.NORMAL, 8, Font.BOLD)));
            tabela.AddCell(new Phrase("Quantidade Min.", new Font(Font.NORMAL, 8, Font.BOLD)));
            tabela.AddCell(new Phrase("Quantidade", new Font(Font.NORMAL, 8, Font.BOLD)));
            tabela.AddCell(new Phrase("Situação", new Font(Font.NORMAL, 8, Font.BOLD)));

            foreach (ProdutoEstoque produtoEstoque in produtos)
            {
                tabela.AddCell(new Phrase(produtoEstoque.Produto.Descricao, new Font(Font.NORMAL, 8)));
                tabela.AddCell(new Phrase(produtoEstoque.Produto.QntMinEstoque.ToString(),
                                          new Font(Font.NORMAL, 8)));
                tabela.AddCell(new Phrase(produtoEstoque.QuantidadeEstoque.ToString(),
                                          new Font(Font.NORMAL, 8)));
                if (produtoEstoque.QuantidadeEstoque < produtoEstoque.Produto.QntMinEstoque)
                {
                    tabela.AddCell(new Phrase("Estoque Baixo", new Font(Font.NORMAL, 8)));
                }
                else
                {
                    tabela.AddCell(new Phrase("Estoque Normal", new Font(Font.NORMAL, 8)));
                }
            }

            relatorio.Add(tabela);

            relatorio.Close();
        }
        private void AtualizaDGV()
        {
            ProdutoEstoqueDAO produtoEstoqueDAO = new ProdutoEstoqueDAO();

            List <ProdutoEstoque> listaProdutos = produtoEstoqueDAO.ListAll();

            foreach (ProdutoEstoque produtoEstoque in listaProdutos)
            {
                dgvProdutosEstoque.Rows.Add(produtoEstoque.Produto.Codigo,
                                            produtoEstoque.Produto.Descricao, produtoEstoque.QuantidadeEstoque,
                                            produtoEstoque.Produto.QntMinEstoque);
            }

            dgvProdutosEstoque.ClearSelection();
        }