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); } }
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); } }
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); } }
/* 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); }