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); } }
private void btnConfirmarProduto_Click(object sender, EventArgs e) { /* Encontra o produto no banco de dados */ Produto produto = produtoDAO.Read(txtCodBarras.Text); /* Apos encontrar o produto, traz as informações do estoque desse produto*/ ProdutoEstoque produtoEstoque = produtoEstoqueDAO.Read(produto.Codigo); /* Verifica se existe este produto no estoque */ if (produtoEstoque.QuantidadeEstoque > 0) { /* Salva a quantidade, se não tiver nada no textbox assume 1 */ int quantidade; if (!int.TryParse(txtQuantidade.Text, out quantidade)) { quantidade = 1; } if (quantidade <= produtoEstoque.QuantidadeEstoque) { /* Adiciona o produto no Data Grid View */ dgvProdutos.Rows.Add(produto.Codigo, produto.Descricao, quantidade, (produto.Preco * quantidade).ToString("c")); /* Atualiza p subTotal da Venda */ subTotal += (produto.Preco * quantidade); txtSubTotal.Text = subTotal.ToString("c"); /* Desabilita os botões */ btnConfirmarProduto.Enabled = false; btnCancelarProduto.Enabled = false; btnConfirmarVenda.Enabled = true; txtQuantidade.ReadOnly = true; /* Desabilita a edição */ LimparTextBox(); /* Limpa as textBox */ } else { MessageBox.Show("Quantidade indisponível, este produto possui " + produtoEstoque.QuantidadeEstoque + " unidades no estoque.", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } else { MessageBox.Show("Produto indisponível.", "AVISO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } dgvProdutos.ClearSelection(); }
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); } }