private void btnConfirmar_Click(object sender, EventArgs e)
        {
            ProdutoDAO produtoDAO = new ProdutoDAO();
            Produto    produto    = produtoDAO.Read(txtCodigoBarras.Text);

            ProdutoEstoqueDAO produtoEstoqueDAO = new ProdutoEstoqueDAO();
            ProdutoEstoque    produtoEstoque    = produtoEstoqueDAO.Read(produto.Codigo);

            if (!txtQuantidade.Text.Equals(""))
            {
                /* Atualiza o estoque */
                produtoEstoque.QuantidadeEstoque += int.Parse(txtQuantidade.Text);
                produtoEstoqueDAO.Update(produtoEstoque);

                /* Exibe a mensage na tela */
                MessageBox.Show("Quantidade em estoque do produto atualizada", "Estoque atualizado",
                                MessageBoxButtons.OK, MessageBoxIcon.Information);
                btnConfirmar.Enabled = false;

                /* Limpa as caixas de texto */
                txtCodigoBarras.Text = "";
                txtDescricao.Text    = "";
                txtQuantidade.Text   = "";
            }
            else
            {
                MessageBox.Show("Por favor, insira a quantidade recebida do produto",
                                "Falntando Informações", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
示例#2
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();
        }
        private void btnSalvar_Click(object sender, EventArgs e)
        {
            Produto produto;

            /* Verifica se os campos obrigatórios estão preenchidos */
            if (!txtPreco.Text.Equals("") && !txtCodBarras.Text.Equals("") &&
                !txtDescricao.Text.Equals("") && !cbCategoria.Text.Equals("") &&
                !txtQntMinEstoque.Text.Equals("") && !cbFornecedor.Text.Equals(""))
            {
                /* Chama o método para retornar um objeto produto com as informações da tela */
                produto = GetDTO();

                /* Se categoria for null, ela não está cadastrada no Banco de Dados */
                if (produto.Categoria != null)
                {
                    if (txtCodigo.Text.Equals(""))
                    {
                        /* Quando uma categoria está sendo adicionada ela não possui código,
                         * logo, o txtCodigo estará sempre vazio. É chamado então, o método
                         * para criar a categoria no Banco de Dados */
                        if (produtoDAO.Create(produto))
                        {
                            ProdutoEstoque    produtoEstoque    = new ProdutoEstoque();
                            ProdutoEstoqueDAO produtoEstoqueDAO = new ProdutoEstoqueDAO();

                            /* Adiciona o produto em um objeto ProdutoEstoque */
                            produtoEstoque.Produto           = produtoDAO.Read(txtCodBarras.Text);
                            produtoEstoque.QuantidadeEstoque = 0;

                            /* Salva o produto no estoque também */
                            produtoEstoqueDAO.Create(produtoEstoque);

                            /* Mensagem indicando que o produto foi cadastrado */
                            MessageBox.Show("Produto foi cadastrado.", "Produto Cadastrado",
                                            MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                    else
                    {
                        /* Já quando ela está sendo atualizada o txtCodigo estará preenchido,
                         * então o método para atualizar a categoria no Banco de Dados é chamado */
                        if (produtoDAO.Update(produto))
                        {
                            /* Mensagem indicando que o produto foi atualizado */
                            MessageBox.Show("Produto foi atualizado.", "Produto Atualizado",
                                            MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                    }
                    /* Atualiza o Data Grid View */
                    AtualizaDGV();

                    /* Habilitação e desabilitação dos botões */
                    btnAdicionar.Enabled = true;
                    btnAtualizar.Enabled = false;
                    btnSalvar.Enabled    = false;
                    btnExcluir.Enabled   = false;
                    btnCancelar.Enabled  = false;

                    LimparTextBox();        /* Limpa as caixas de texto */

                    HabilitarEdicao(false); /* Desabilita a edição */
                }
                else
                {
                    /* Mensagem informando que a categoria não está no Banco de Dados */
                    MessageBox.Show("Por favor, escolha uma categoria que esteja cadastrada",
                                    "Categoria não cadastrada", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            else
            {
                /* Exibe uma mensagem informando falta de informações */
                MessageBox.Show("Há informações faltando. Por favor, preencha todas a informações",
                                "Falta de informações", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
示例#5
0
        private void btnConfirmarVenda_Click(object sender, EventArgs e)
        {
            /* Verifica se o usúario tem certeza que deseja concluir a venda */
            var result = MessageBox.Show(this, "Você tem certeza que deseja concluir está venda?",
                                         "Deseja concluir está venda?", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);

            if (result == DialogResult.Yes)
            {
                List <ItemVenda> itens = new List <ItemVenda>();

                /* Realiza as operações com a venda */
                Venda venda = new Venda();

                /* Coloca o codigo em venda, sendo o último inserido no banco mais um */
                venda.Codigo = vendaDAO.NextCodVenda();

                /* Coloca a hora da venda */
                venda.DataHora = DateTime.Now;

                /* Coloca o valor total da venda */
                venda.ValotTotal = subTotal;

                /* Grava a venda no Banco de Dados */
                vendaDAO.Create(venda);

                /* Depois, realiza as operações com os itens */

                /* Percorre todos os produtos que estão no Data Grid View */
                for (int i = 0; i < dgvProdutos.Rows.Count; i++)
                {
                    ProdutoEstoqueDAO produtoEstoqueDAO = new ProdutoEstoqueDAO();
                    ItemVenda         itemVenda         = new ItemVenda();

                    /* Busca o produto pelo código presente no DGV e o coloca em item*/
                    itemVenda.Produto = produtoDAO.Read(int.Parse(dgvProdutos.Rows[i].Cells[0].Value.ToString()));

                    /* Informa a venda para o item */
                    itemVenda.Venda = venda;

                    /* Coloca a quantidade em item */
                    itemVenda.Quantidade = int.Parse(dgvProdutos.Rows[i].Cells[2].Value.ToString());

                    /* Pega o preco do produto e coloca o preco no item da venda
                     * (Caso o valor do produto mude, temos esse registro do valor que o produto foi vendido)*/
                    itemVenda.PrecoUnitario = itemVenda.Produto.Preco;

                    /* Grava o ItemVenda no Banco de Dados */
                    itemVendaDAO.Create(itemVenda);

                    /* Adiciona os itens em uma lista para gerar a nota Fiscal */
                    itens.Add(itemVenda);

                    /* Recupera a informação do Produto Estoque */
                    ProdutoEstoque produtoEstoque = produtoEstoqueDAO.Read(itemVenda.Produto.Codigo);

                    /* Atualiza o estoque subtraindo os produtos vendidos */
                    produtoEstoque.QuantidadeEstoque -= itemVenda.Quantidade;

                    /* Armazena o BD o novo estoque */
                    produtoEstoqueDAO.Update(produtoEstoque);
                }

                /* Verifica se o usúario quer gerar a nota fiscal */
                var result2 = MessageBox.Show(this, "Você deseja gerar e salvar a nota fiscal?",
                                              "Deseja gerar a nota fiscal?", MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation);

                if (result2 == DialogResult.Yes)
                {
                    /* Responsável por gerar o relatório dos produtos do estoque */

                    /* Caixa de diálogo para salvar o arquivo */
                    SaveFileDialog saveFileDialog = new SaveFileDialog();
                    saveFileDialog.AddExtension = true;
                    saveFileDialog.DefaultExt   = ".pdf";
                    saveFileDialog.ShowDialog();

                    if (!saveFileDialog.FileName.ToString().Equals(""))
                    {
                        Relatorios.GerarNotaFiscal(saveFileDialog.FileName.ToString(), itens);

                        MessageBox.Show("Nota fiscal foi gerada", "Nota Fiscal Gerada",
                                        MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }

                /* Desabilita o botão */
                btnConfirmarVenda.Enabled  = false;
                btnExcluirProduto.Enabled  = false;
                btnCancelarProduto.Enabled = false;

                txtQuantidade.ReadOnly = true; /* Desabilita a edição */

                LimparTextBox();               /* Limpa as textBox */

                dgvProdutos.Rows.Clear();      /* Limpa o DGV */

                subTotal = 0.0m;

                txtSubTotal.Text = subTotal.ToString("c");

                /* Mensagem indicando que a compra foi realizada com sucesso */
                MessageBox.Show("Venda foi realizada com sucesso.", "Venda realizada",
                                MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
示例#6
0
        /* Metodo para cadastrar registros no banco de dados para teste e demonstração */
        private void PreencherBDTeste()
        {
            //Cadastro de categorias
            CategoriaDAO categoriaDAO = new CategoriaDAO();

            Categoria bebida = new Categoria();

            bebida.Codigo    = 1;
            bebida.Descricao = "Bebida";
            categoriaDAO.Create(bebida);

            Categoria limpeza = new Categoria();

            limpeza.Codigo    = 2;
            limpeza.Descricao = "Limpeza";
            categoriaDAO.Create(limpeza);

            Categoria comida = new Categoria();

            comida.Codigo    = 3;
            comida.Descricao = "Comida";
            categoriaDAO.Create(comida);

            Categoria brinquedo = new Categoria();

            brinquedo.Codigo    = 4;
            brinquedo.Descricao = "Brinquedo";
            categoriaDAO.Create(brinquedo);

            //Cadastro de fornecedores
            FornecedorDAO fornecedorDAO = new FornecedorDAO();

            Fornecedor fornecedor1 = new Fornecedor();

            fornecedor1.Codigo   = 1;
            fornecedor1.Cnpj     = "76.245.133/0001-90";
            fornecedor1.Nome     = "Tem de tudo";
            fornecedor1.Email    = "*****@*****.**";
            fornecedor1.Telefone = "(16)3312-1244";
            fornecedor1.Rua      = "Rua Gertrudes";
            fornecedor1.Numero   = 123;
            fornecedor1.Cep      = "1233450-600";
            fornecedor1.Cidade   = "São Carlos";
            fornecedor1.Estado   = "SP";
            fornecedorDAO.Create(fornecedor1);

            Fornecedor fornecedor2 = new Fornecedor();

            fornecedor2.Codigo   = 2;
            fornecedor2.Cnpj     = "67.472.648/0001-31";
            fornecedor2.Nome     = "Casa de carnes";
            fornecedor2.Email    = "*****@*****.**";
            fornecedor2.Telefone = "(16)3345-6677";
            fornecedor2.Rua      = "Rua Almeida";
            fornecedor2.Numero   = 333;
            fornecedor2.Cep      = "12570-552";
            fornecedor2.Cidade   = "São Carlos";
            fornecedor2.Estado   = "SP";
            fornecedorDAO.Create(fornecedor2);

            Fornecedor fornecedor3 = new Fornecedor();

            fornecedor3.Codigo   = 3;
            fornecedor3.Cnpj     = "66.773.984/0001-51";
            fornecedor3.Nome     = "Sorvetes Mil Grau";
            fornecedor3.Email    = "*****@*****.**";
            fornecedor3.Telefone = "(16)99143-1212";
            fornecedor3.Rua      = "Rua Mello Alves";
            fornecedor3.Numero   = 1343;
            fornecedor3.Cep      = "15870-698";
            fornecedor3.Cidade   = "Araraquara";
            fornecedor3.Estado   = "SP";
            fornecedorDAO.Create(fornecedor3);

            Fornecedor fornecedor4 = new Fornecedor();

            fornecedor4.Codigo   = 4;
            fornecedor4.Cnpj     = "36.583.761/0001-60";
            fornecedor4.Nome     = "24 Horas";
            fornecedor4.Email    = "*****@*****.**";
            fornecedor4.Telefone = "(16)99344-2332";
            fornecedor4.Rua      = "Rua Bento Carlos";
            fornecedor4.Numero   = 1111;
            fornecedor4.Cep      = "14784-114";
            fornecedor4.Cidade   = "Ibaté";
            fornecedor4.Estado   = "SP";
            fornecedorDAO.Create(fornecedor4);

            Fornecedor fornecedor5 = new Fornecedor();

            fornecedor5.Codigo   = 5;
            fornecedor5.Cnpj     = "58.683.153/0001-60";
            fornecedor5.Nome     = "Bebidas LTDA";
            fornecedor5.Email    = "*****@*****.**";
            fornecedor5.Telefone = "(16)3375-9099";
            fornecedor5.Rua      = "Rua Alexandrina";
            fornecedor5.Numero   = 234;
            fornecedor5.Cep      = "14781-101";
            fornecedor5.Cidade   = "São Carlos";
            fornecedor5.Estado   = "SP";
            fornecedorDAO.Create(fornecedor5);

            Fornecedor fornecedor6 = new Fornecedor();

            fornecedor6.Codigo   = 6;
            fornecedor6.Cnpj     = "99.278.153/0001-62";
            fornecedor6.Nome     = "Brinquedos LTDA";
            fornecedor6.Email    = "*****@*****.**";
            fornecedor6.Telefone = "(16)99455-2332";
            fornecedor6.Rua      = "Rua 7 de Agosto";
            fornecedor6.Numero   = 234;
            fornecedor6.Cep      = "11568-998";
            fornecedor6.Cidade   = "São Carlos";
            fornecedor6.Estado   = "SP";
            fornecedorDAO.Create(fornecedor6);

            //Cadastro de produtos
            ProdutoDAO        produtoDAO        = new ProdutoDAO();
            ProdutoEstoqueDAO produtoEstoqueDAO = new ProdutoEstoqueDAO();
            ProdutoEstoque    produtoEstoque    = new ProdutoEstoque();

            Produto produto1 = new Produto();

            produto1.Codigo        = 1;
            produto1.Preco         = 1.99m;
            produto1.CodigoBarras  = "1111";
            produto1.Descricao     = "Sabonete";
            produto1.Categoria     = limpeza;
            produto1.QntMinEstoque = 50;
            produto1.Fornecedor    = fornecedor1;
            produtoDAO.Create(produto1);
            produtoEstoque.Produto           = produto1;
            produtoEstoque.QuantidadeEstoque = 20;
            produtoEstoqueDAO.Create(produtoEstoque);

            Produto produto2 = new Produto();

            produto2.Codigo        = 2;
            produto2.Preco         = 2.99m;
            produto2.CodigoBarras  = "1112";
            produto2.Descricao     = "Papel Toalha";
            produto2.Categoria     = limpeza;
            produto2.QntMinEstoque = 25;
            produto2.Fornecedor    = fornecedor1;
            produtoDAO.Create(produto2);
            produtoEstoque.Produto           = produto2;
            produtoEstoque.QuantidadeEstoque = 10;
            produtoEstoqueDAO.Create(produtoEstoque);

            Produto produto3 = new Produto();

            produto3.Codigo        = 3;
            produto3.Preco         = 41.44m;
            produto3.CodigoBarras  = "1113";
            produto3.Descricao     = "Limpa Tecido Automotivo";
            produto3.Categoria     = limpeza;
            produto3.QntMinEstoque = 20;
            produto3.Fornecedor    = fornecedor1;
            produtoDAO.Create(produto3);
            produtoEstoque.Produto           = produto3;
            produtoEstoque.QuantidadeEstoque = 90;
            produtoEstoqueDAO.Create(produtoEstoque);

            Produto produto4 = new Produto();

            produto4.Codigo        = 4;
            produto4.Preco         = 8.50m;
            produto4.CodigoBarras  = "2221";
            produto4.Descricao     = "Coca Cola 2L";
            produto4.Categoria     = bebida;
            produto4.QntMinEstoque = 60;
            produto4.Fornecedor    = fornecedor5;
            produtoDAO.Create(produto4);
            produtoEstoque.Produto           = produto4;
            produtoEstoque.QuantidadeEstoque = 20;
            produtoEstoqueDAO.Create(produtoEstoque);

            Produto produto5 = new Produto();

            produto5.Codigo        = 5;
            produto5.Preco         = 12.10m;
            produto5.CodigoBarras  = "2222";
            produto5.Descricao     = "Cerveja Brahma 300ml";
            produto5.Categoria     = bebida;
            produto5.QntMinEstoque = 55;
            produto5.Fornecedor    = fornecedor5;
            produtoDAO.Create(produto5);
            produtoEstoque.Produto           = produto5;
            produtoEstoque.QuantidadeEstoque = 50;
            produtoEstoqueDAO.Create(produtoEstoque);

            Produto produto6 = new Produto();

            produto6.Codigo        = 6;
            produto6.Preco         = 6.50m;
            produto6.CodigoBarras  = "2223";
            produto6.Descricao     = "Fanta Laranja 2L";
            produto6.Categoria     = bebida;
            produto6.QntMinEstoque = 75;
            produto6.Fornecedor    = fornecedor4;
            produtoDAO.Create(produto6);
            produtoEstoque.Produto           = produto6;
            produtoEstoque.QuantidadeEstoque = 60;
            produtoEstoqueDAO.Create(produtoEstoque);

            Produto produto7 = new Produto();

            produto7.Codigo        = 7;
            produto7.Preco         = 1.99m;
            produto7.CodigoBarras  = "3331";
            produto7.Descricao     = "Miojo NISSIN";
            produto7.Categoria     = comida;
            produto7.QntMinEstoque = 55;
            produto7.Fornecedor    = fornecedor1;
            produtoDAO.Create(produto7);
            produtoEstoque.Produto           = produto7;
            produtoEstoque.QuantidadeEstoque = 10;
            produtoEstoqueDAO.Create(produtoEstoque);

            Produto produto8 = new Produto();

            produto8.Codigo        = 8;
            produto8.Preco         = 19.25m;
            produto8.CodigoBarras  = "3332";
            produto8.Descricao     = "Sorvete KIBON 2L";
            produto8.Categoria     = comida;
            produto8.QntMinEstoque = 78;
            produto8.Fornecedor    = fornecedor3;
            produtoDAO.Create(produto8);
            produtoEstoque.Produto           = produto8;
            produtoEstoque.QuantidadeEstoque = 0;
            produtoEstoqueDAO.Create(produtoEstoque);

            Produto produto9 = new Produto();

            produto9.Codigo        = 9;
            produto9.Preco         = 10.25m;
            produto9.CodigoBarras  = "3333";
            produto9.Descricao     = "Arroz Integral Vapza";
            produto9.Categoria     = comida;
            produto9.QntMinEstoque = 110;
            produto9.Fornecedor    = fornecedor1;
            produtoDAO.Create(produto9);
            produtoEstoque.Produto           = produto9;
            produtoEstoque.QuantidadeEstoque = 60;
            produtoEstoqueDAO.Create(produtoEstoque);

            Produto produto10 = new Produto();

            produto10.Codigo        = 10;
            produto10.Preco         = 49.99m;
            produto10.CodigoBarras  = "4441";
            produto10.Descricao     = "Bola Futebol Nike";
            produto10.Categoria     = brinquedo;
            produto10.QntMinEstoque = 40;
            produto10.Fornecedor    = fornecedor6;
            produtoDAO.Create(produto10);
            produtoEstoque.Produto           = produto10;
            produtoEstoque.QuantidadeEstoque = 20;
            produtoEstoqueDAO.Create(produtoEstoque);

            Produto produto11 = new Produto();

            produto11.Codigo        = 11;
            produto11.Preco         = 89.90m;
            produto11.CodigoBarras  = "4442";
            produto11.Descricao     = "Boneca Barbie";
            produto11.Categoria     = brinquedo;
            produto11.QntMinEstoque = 35;
            produto11.Fornecedor    = fornecedor6;
            produtoDAO.Create(produto11);
            produtoEstoque.Produto           = produto11;
            produtoEstoque.QuantidadeEstoque = 70;
            produtoEstoqueDAO.Create(produtoEstoque);
        }