private void buttonRegistrar_Click(object sender, EventArgs e) { Estoque estoque = pool.getEstoque(produto.CodProduto); Boolean isDisponivel = verificaQtdEstoque(estoque); if (isDisponivel) { //CONTROLE DA QUANTIDADE DE PRODUTOS EM ESTOQUE double qtdEstoque = Double.Parse(estoque.Quantidade); double qtdSaida = Double.Parse(textBoxQtd.Text); double total = qtdEstoque - qtdSaida; //CONTROLE DO SALDO TOTAL DE PRODUTOS double vlUnit = Double.Parse(produto.ValorUnitario); double vltotal = vlUnit * total; Estoque nvEstoque = new Estoque(); nvEstoque.CodProduto = textBoxCodProduto.Text; nvEstoque.Descricao = textBoxDescricao.Text; nvEstoque.ValorUnitario = textBoxValorUnit.Text; nvEstoque.Quantidade = total.ToString(); nvEstoque.ValorTotal = vltotal.ToString(); ArrayList mensagens = valida.validaEstoque(nvEstoque); if (mensagens.Count > 0) { String mensagem = (String)mensagens[0]; MessageBox.Show(mensagem); } else { try { bool insert = pool.updateEstoque(nvEstoque); gerarRelatorioEstoque(); if (insert) { MessageBox.Show("Saida registrada com sucesso."); limpar(); } else { MessageBox.Show("Erro ao registrar saida."); } } catch (Exception) { MessageBox.Show("Erro ao registrar saida."); } } } }
private void atualizarEntradaProduto() { double qtdSaldo = Double.Parse(cachEstoque.Quantidade); double qtdEntrada = Double.Parse(textBoxQtd.Text); double qtd = qtdEntrada + qtdSaldo; Estoque entEstoque = new Estoque(); entEstoque.CodProduto = textBoxCodProduto.Text; entEstoque.Descricao = textBoxDescProduto.Text; entEstoque.Quantidade = qtd.ToString(); entEstoque.ValorUnitario = textBoxValorUnit.Text; entEstoque.ValorTotal = textBoxValorTotal.Text; ArrayList mensagens = valida.validaEstoque(entEstoque); if (mensagens.Count > 0) { String mensagem = (String)mensagens[0]; MessageBox.Show(mensagem); } else { try { bool insert = pool.updateEstoque(entEstoque); gerarRelatorioEstoque(); if (insert) { MessageBox.Show("Entrada registrada com sucesso."); limpar(); } else { MessageBox.Show("Erro ao registrar entrada."); } } catch (Exception) { MessageBox.Show("Erro ao registrar entrada."); } } }
public ArrayList validaEstoque(Estoque estoque) { ArrayList listErro = new ArrayList(); String mensagem = ""; if(estoque.CodProduto.Equals("")){ mensagem = "Necessário Codigo do Produto."; listErro.Add(mensagem); } if (estoque.Descricao.Equals("")) { mensagem = "Necessário Descrição do Produto."; listErro.Add(mensagem); } if (estoque.Quantidade.Equals("")) { mensagem = "Necessário Quantidade de Produtos."; listErro.Add(mensagem); } if (estoque.ValorUnitario.Equals("")) { mensagem = "Necessário Valor Unitário."; listErro.Add(mensagem); } if (estoque.ValorTotal.Equals("")) { mensagem = "Necessário Valor Total."; listErro.Add(mensagem); } return listErro; }
//METODO ATUALIZA O ESTOQUE public Boolean updateEstoque(Estoque estoque) { try { SqlConnection conexao = new SqlConnection(caminho); conexao.Open(); String sql = "UPDATE Estoque SET " + " codProduto = @codProduto, descricao = @descricao, " + " quantidade = @quantidade, valorUnitario = @valorUnitario, valorTotal = @valorTotal" + " WHERE codProduto = '" + estoque.CodProduto + "'"; SqlCommand comando = new SqlCommand(sql, conexao); comando.Parameters.AddWithValue("codProduto", estoque.CodProduto); comando.Parameters.AddWithValue("descricao", estoque.Descricao); comando.Parameters.AddWithValue("quantidade", estoque.Quantidade); comando.Parameters.AddWithValue("valorUnitario", estoque.ValorUnitario); comando.Parameters.AddWithValue("valorTotal", estoque.ValorTotal); comando.ExecuteNonQuery(); } catch (Exception) { return false; } return true; }
//METODO INSERE NOVOS REGISTRO NO ESTOQUE public bool insertEntradaEstoque(Estoque estoque) { try { SqlConnection conexao = new SqlConnection(caminho); conexao.Open(); String sql = "insert into Estoque(codProduto, descricao, quantidade, valorUnitario, valorTotal) " + " values (@codProduto, @descricao, @quantidade, @valorUnitario, @valorTotal) "; SqlCommand comando = new SqlCommand(sql, conexao); comando.Parameters.AddWithValue("codProduto", estoque.CodProduto); comando.Parameters.AddWithValue("descricao", estoque.Descricao); comando.Parameters.AddWithValue("quantidade", estoque.Quantidade); comando.Parameters.AddWithValue("valorUnitario", estoque.ValorUnitario); comando.Parameters.AddWithValue("valorTotal", estoque.ValorTotal); comando.ExecuteNonQuery(); } catch (Exception) { return false; } return true; }
//METODO CARREGA LISTA DE PRODUTO NO ESTOQUE public ArrayList getEstoque() { ArrayList lista = new ArrayList(); SqlConnection conexao = new SqlConnection(caminho); conexao.Open(); String sql = "SELECT * FROM Estoque"; SqlCommand comando = new SqlCommand(sql, conexao); SqlDataReader dr = comando.ExecuteReader(); while (dr.Read()) { Estoque produtoEstoque = new Estoque(); produtoEstoque.CodProduto = dr[0].ToString(); produtoEstoque.Descricao = dr[1].ToString(); produtoEstoque.Quantidade = dr[2].ToString(); produtoEstoque.ValorUnitario = dr[3].ToString(); produtoEstoque.ValorTotal = dr[4].ToString(); lista.Add(produtoEstoque); } return lista; }
//RETORNA REGISTRO DE UM PRODUTO NO ESTOQUE public Estoque getEstoque(String codProduto) { Estoque produtoEstoque = null; SqlConnection conexao = new SqlConnection(caminho); conexao.Open(); String sql = "SELECT * FROM Estoque WHERE codProduto = '" + codProduto + "'"; SqlCommand comando = new SqlCommand(sql, conexao); SqlDataReader dr = comando.ExecuteReader(); while (dr.Read()) { produtoEstoque = new Estoque(); produtoEstoque.CodProduto = dr[0].ToString(); produtoEstoque.Descricao = dr[1].ToString(); produtoEstoque.Quantidade = dr[2].ToString(); produtoEstoque.ValorUnitario = dr[3].ToString(); produtoEstoque.ValorTotal = dr[4].ToString(); } return produtoEstoque; }
//Verifica Saldo Disponivel private Boolean verificaQtdEstoque(Estoque estoque) { if (estoque != null) { int qtdAtualEst = int.Parse(estoque.Quantidade); int qtdSaida = int.Parse(textBoxQtd.Text); if (qtdAtualEst < qtdSaida) { MessageBox.Show("Qtd. Indisponivel. Total em Estoque: " + qtdAtualEst); return false; } else { return true; } } else { MessageBox.Show("Produto não disponivel em estoque."); return false; } }
//METODO VERIFICA SE EXISTE PRODUTO CADASTRADO NO ESTOQUE //CASO HAJA, SOMENTE FAZ UPDATE NOS DADOS private void buttonRegistrar_Click(object sender, EventArgs e) { cachEstoque = pool.getEstoque(textBoxCodProduto.Text); if (cachEstoque == null) { registrarEntradaProduto(); } else { atualizarEntradaProduto(); } }
//Metodo para registrar as Entradas private void registrarEntradaProduto() { Estoque entEstoque = new Estoque(); entEstoque.CodProduto = textBoxCodProduto.Text; entEstoque.Descricao = textBoxDescProduto.Text; entEstoque.Quantidade = textBoxQtd.Text; entEstoque.ValorUnitario = textBoxValorUnit.Text; entEstoque.ValorTotal = textBoxValorTotal.Text; // entEstoque.Movimentacao = "ENTRADA"; ArrayList mensagens = valida.validaEstoque(entEstoque); if (mensagens.Count > 0) { String mensagem = (String)mensagens[0]; MessageBox.Show(mensagem); } else { try { bool insert = pool.insertEntradaEstoque(entEstoque); gerarRelatorioEstoque(); if (insert) { MessageBox.Show("Entrada registrada com sucesso."); limpar(); } else { MessageBox.Show("Erro ao registrar entrada."); } } catch (Exception) { MessageBox.Show("Erro ao registrar entrada."); } } }