private void btnSalvar_Click(object sender, EventArgs e) { errorProvider.Clear(); int codigoProdutoBackup = produtoControle.entidade.id; if (Sistema.campoIsNull(txbNome.Text)) { errorProvider.SetError(txbNome, "Informe o nome do produto"); return; } if (Sistema.campoIsNull(txbDescricao.Text)) { errorProvider.SetError(txbDescricao, "Informe algum detalhe do produto"); return; } if (Sistema.numeroInvalido(Convert.ToString(numPreco.Value))) { errorProvider.SetError(numPreco, "Informe o preço do produto"); return; } try { produtoControle.entidade.nome = txbNome.Text; produtoControle.entidade.descricao = txbDescricao.Text; produtoControle.entidade.preco = Convert.ToDouble(numPreco.Value); produtoControle.entidade.validade = validade.Value; produtoControle.entidade.quantidadeEstoque = Convert.ToInt32(numQuantidade.Value); if (produtoControle.entidade.id <= 0) { historicoControle.entidade.buildValues(produtoControle.salvarRetornandoEntidadeNova(produtoControle.entidade)); historicoControle.salvar(historicoControle.entidade); } else { produtoControle.editar(produtoControle.entidade); QuantidadeAlterada.quantidadeAntiga = produtoControle.entidade.quantidadeEstoque; if (QuantidadeAlterada.isAlterado()) { historicoControle.entidade.buildValues(produtoControle.entidade); historicoControle.salvar(historicoControle.entidade); } } lblMensagem.Visible = true; lblMensagem.Text = "Produto salvo com sucesso!"; lblMensagem.BackColor = Color.GreenYellow; limparCampos(); carregarRegistros(); } catch (Exception ex) { produtoControle.entidade.id = codigoProdutoBackup; lblMensagem.Visible = true; lblMensagem.Text = "Erro ao salvar produto: " + ex.Message; lblMensagem.BackColor = Color.LightCoral; } }
private void btnAdicionarProduto_Click(object sender, EventArgs e) { try { if (dgvProdutos.RowCount > 0) { int quantidade = 0; try { quantidade = Convert.ToInt32(txbQuantidade.Text); if (quantidade <= 0) { lblMensagem.Visible = true; lblMensagem.BackColor = Color.LightCoral; lblMensagem.Text = "A quantidade deve ser maior que 0 (zero)."; return; } Produto produtoTemp = new Produto(); produtoControle.entidade.id = Convert.ToInt32(dgvProdutos.CurrentRow.Cells[0].Value); produtoTemp = produtoControle.selecionar(produtoControle.entidade.id); if (quantidade > produtoTemp.quantidadeEstoque) { lblMensagem.Visible = true; lblMensagem.BackColor = Color.LightCoral; lblMensagem.Text = "A quantidade deve ser menor ou igual que o estoque."; return; } if (produtoTemp.quantidadeEstoque == 0) { lblMensagem.Visible = true; lblMensagem.BackColor = Color.LightCoral; lblMensagem.Text = "Não existe esse produto em estoque"; return; } } catch (Exception) { lblMensagem.Visible = true; lblMensagem.BackColor = Color.LightCoral; lblMensagem.Text = "Informe uma quantidade válida (Um valor inteiro e maior que 0)."; } Produto produto = new Produto(); produtoControle.entidade.id = Convert.ToInt32(dgvProdutos.CurrentRow.Cells[0].Value); produto = produtoControle.selecionar(produtoControle.entidade.id); // Atualizar estoque do produto produto.quantidadeEstoque = produto.quantidadeEstoque - quantidade; // Atualizar estoque do produto no BANCO produtoControle.editar(produto); //Inserir histórico historicoEstoque.entidade.buildValues(produto); historicoEstoque.salvar(historicoEstoque.entidade); VendaProduto vendaProduto = new VendaProduto(); vendaProduto.produto = produto; vendaProduto.quantidadeProdutosVenda = quantidade; vendaProduto.venda = formVenda.vendaControle.entidade; formVenda.vendaControle.vendaProdutos.Add(vendaProduto); ListViewItem item = new ListViewItem(); item.Text = produto.nome; produto.quantidadeEstoque = quantidade; item.Tag = produto; formVenda.listProdutos.Items.Add(item); lblMensagem.Text = "Adicionado: " + Convert.ToString(quantidade) + " " + produto.nome + " na venda. Pressione ESC para fechar"; carregarRegistros(); lblMensagem.BackColor = Color.GreenYellow; lblMensagem.Visible = true; formVenda.listProdutos.Refresh(); formVenda.txbCliente.Refresh(); formVenda.atualizarValores(); txbQuantidade.Text = "1"; txbPesquisa.Text = ""; txbPesquisa.Focus(); } } catch (Exception ex) { lblMensagem.Visible = true; lblMensagem.BackColor = Color.LightCoral; lblMensagem.Text = "Erro ao adicionar produto: " + ex.Message; } }