// Continuar daqui. public static bool Excluir(Pedido_Produto pedido_produto) { try { using (OracleCommand c = ConexaoOracle.ObterConexao().CreateCommand()) { c.CommandType = System.Data.CommandType.Text; c.CommandText = "DELETE FROM pedido_produto WHERE pedido_produtoid=:pedido_produtoid"; c.Parameters.Add("pedido_produtoid", OracleType.Int32).Value = BuscarCodigo(pedido_produto); if (c.ExecuteNonQuery() > 0) { return true; } } return false; } catch (OracleException ex) { if (ex.Message.Contains("child record found")) { MessageBox.Show("Impossível excluir."); } return false; } }
public static List<Pedido_Produto> BuscarTodos(int codigo) { Pedido_Produto pedido_produto = null; List<Pedido_Produto> list_pp = new List<Pedido_Produto>(); try { using (OracleCommand c = ConexaoOracle.ObterConexao().CreateCommand()) { c.CommandType = System.Data.CommandType.Text; c.CommandText = "SELECT produtoid, pedidoid, valor, quantidade, adicionalid FROM pedido_produto WHERE pedidoid = :codigo"; c.Parameters.Add("codigo", OracleType.Int32).Value = codigo; using (OracleDataReader leitor = c.ExecuteReader()) { while (leitor.Read()) { int bd_produtoid = leitor.GetInt32(0); int bd_pedidoid = leitor.GetInt32(1); float bd_valor = leitor.GetFloat(2); int bd_quantidade = leitor.GetInt32(3); int bd_adicionalid = leitor.GetInt32(4); pedido_produto = new Pedido_Produto(bd_produtoid, bd_valor, bd_quantidade, bd_pedidoid, bd_adicionalid); list_pp.Add(pedido_produto); } } } return list_pp; } catch (NullReferenceException e) { throw e; } }
public static int BuscarCodigo(Pedido_Produto pedido_produto) { try { int pedido_produtoid = 0; using (OracleCommand c = ConexaoOracle.ObterConexao().CreateCommand()) { c.CommandType = System.Data.CommandType.Text; c.CommandText = "SELECT pedido_produtoid FROM pedido_produto WHERE produtoid = :codigo and pedidoid = :pedidoid and quantidade = :quantidade and adicionalid = :adicionalid"; c.Parameters.Add("codigo", OracleType.Int32).Value = pedido_produto.getProdutoId(); c.Parameters.Add("pedidoid", OracleType.Int32).Value = pedido_produto.getPedidoId(); //c.Parameters.Add("valor", OracleType.Float).Value = pedido_produto.getValor(); c.Parameters.Add("quantidade", OracleType.Int32).Value = pedido_produto.getQuantidade(); c.Parameters.Add("adicionalid", OracleType.Int32).Value = pedido_produto.getAdicional_comidaId(); using (OracleDataReader leitor = c.ExecuteReader()) { while (leitor.Read()) { pedido_produtoid = leitor.GetInt32(0); } } } return pedido_produtoid; } catch (NullReferenceException e) { throw e; } }
public static bool Inserir(Pedido_Produto pedido_produto) { try { using (OracleCommand c = ConexaoOracle.ObterConexao().CreateCommand()) { c.CommandType = System.Data.CommandType.Text; c.CommandText = "INSERT into PEDIDO_PRODUTO VALUES(PEDIDO_PRODUTO_SEQ.NEXTVAL, :produtoid, :pedidoid, :valor, :quantidade, :adicionalid)"; c.Parameters.Add("produtoid", OracleType.Int32).Value = pedido_produto.getProdutoId(); c.Parameters.Add("pedidoid", OracleType.Int32).Value = pedido_produto.getPedidoId(); c.Parameters.Add("valor", OracleType.Float).Value = pedido_produto.getValor(); c.Parameters.Add("quantidade", OracleType.Int32).Value = pedido_produto.getQuantidade(); c.Parameters.Add("adicionalid", OracleType.Int32).Value = pedido_produto.getAdicional_comidaId(); c.ExecuteNonQuery(); return true; } } catch (OracleException e) { throw e; } }
public static bool Gravar(Pedido_Produto pedido_produto) { return Inserir(pedido_produto); }
private void bEfetivar_Click(object sender, EventArgs e) { try { int checkCancelado; if (botao == 1) //Cadastrar { if (tbCodigoCliente.Text.Equals("") || cbStatus.Text.Equals("") || cbFormaPagamento.Text.Equals("") || tbValorTotal.Text.Equals("") || dgvPedidos.Rows.Count < 2) { MessageBox.Show("Preencha todos os campos obrigatórios: *"); } else { if (cbCancelado.Checked) { checkCancelado = 1; } else { checkCancelado = 0; } if (tbObservacao.Text == "") { tbObservacao.Text = " "; } Pedidos pedido = new Pedidos(int.Parse(tbCodigoCliente.Text), FuncionarioDAO.BuscaCodigo(tbFuncionario.Text), TelaPedidos.getEntrega(), float.Parse(tbValorTotal.Text), float.Parse(tbValorPago.Text), cbFormaPagamento.Text, DateTime.Parse(mtbData.Text), float.Parse(tbDesconto.Text), cbStatus.Text, checkCancelado, tbObservacao.Text); if (PedidosRN.Salvar(pedido)) { for (int i = 0; i < dgvPedidos.Rows.Count - 1; i++) { int produtoid = int.Parse(dgvPedidos.Rows[i].Cells[0].Value.ToString()); float valor = float.Parse(dgvPedidos.Rows[i].Cells[3].Value.ToString()); int qtd = int.Parse(dgvPedidos.Rows[i].Cells[4].Value.ToString()); int pedidoid = PedidoDAO.CurrvalPedido(); int adicionalid = int.Parse(dgvPedidos.Rows[i].Cells[1].Value.ToString()); Pedido_Produto pedido_produto = new Pedido_Produto(produtoid, valor, qtd, pedidoid, adicionalid); PedidoProdutoDAO.Gravar(pedido_produto); } bCancelar_Click(sender, e); MessageBox.Show("Pedido foi cadastrado com sucesso!"); } } } if (botao == 2) //Alterar { if ((!tbCodigo.Enabled && tbCodigo.Text != "")) { if (cbStatus.Text.Equals("") || cbFormaPagamento.Text.Equals("") || tbValorPago.Text.Equals("") || tbValorTotal.Text.Equals("") || dgvPedidos.Rows.Count < 2) { MessageBox.Show("Preencha todos os campos obrigatórios: *"); } else { if (cbCancelado.Checked) { checkCancelado = 1; } else { checkCancelado = 0; } if (tbObservacao.Text == "") { tbObservacao.Text = " "; } Pedidos pedido = new Pedidos(int.Parse(tbCodigo.Text), int.Parse(tbCodigoCliente.Text), FuncionarioDAO.BuscaCodigo(tbFuncionario.Text), TelaPedidos.getEntrega(), float.Parse(tbValorTotal.Text), float.Parse(tbValorPago.Text), cbFormaPagamento.Text, DateTime.Parse(mtbData.Text), float.Parse(tbDesconto.Text), cbStatus.Text, checkCancelado, tbObservacao.Text); if (PedidosRN.Alterar(pedido)) { List<Pedido_Produto> list_pp = new List<Pedido_Produto>(); for (int i = 0; i < dgvPedidos.Rows.Count - 1; i++) { int produtoid = int.Parse(dgvPedidos.Rows[i].Cells[0].Value.ToString()); float valor = (float)dgvPedidos.Rows[i].Cells[3].Value; int qtd = int.Parse(dgvPedidos.Rows[i].Cells[4].Value.ToString()); int pedidoid = int.Parse(tbCodigo.Text); int adicionalid = int.Parse(dgvPedidos.Rows[i].Cells[1].Value.ToString()); Pedido_Produto pedido_produto = new Pedido_Produto(produtoid, valor, qtd, pedidoid, adicionalid); list_pp.Add(pedido_produto); } List<Pedido_Produto> nova = PedidoProdutoDAO.BuscarTodos(pedido.getPedidoId()); if(nova.Count != 0) { List<Pedido_Produto> banco = new List<Pedido_Produto>(); List<Pedido_Produto> alterado = new List<Pedido_Produto>(); bool verifica = false; for (int i = 0; i < nova.Count; i++ ) { for (int j = 0; j < list_pp.Count; j++) { if (nova[i].getProdutoId() == list_pp[j].getProdutoId() && nova[i].getPedidoId() == list_pp[j].getPedidoId() && nova[i].getValor() == list_pp[j].getValor() && nova[i].getQuantidade() == list_pp[j].getQuantidade() && nova[i].getAdicional_comidaId() == list_pp[j].getAdicional_comidaId()) { verifica = true; } } if(!verifica) banco.Add(nova[i]); verifica = false; } for (int i = 0; i < list_pp.Count; i++) { for (int j = 0; j < nova.Count; j++) { if (list_pp[i].getProdutoId() == nova[j].getProdutoId() && list_pp[i].getPedidoId() == nova[j].getPedidoId() && list_pp[i].getValor() == nova[j].getValor() && list_pp[i].getQuantidade() == nova[j].getQuantidade() && list_pp[i].getAdicional_comidaId() == nova[j].getAdicional_comidaId()) { verifica = true; } } if (!verifica) alterado.Add(list_pp[i]); verifica = false; } if (banco.Count > 0) { for(int i = 0; i < banco.Count; i++) { PedidoProdutoDAO.Excluir(banco[i]); } } if(alterado.Count > 0) { for (int i = 0; i < alterado.Count; i++) { PedidoProdutoDAO.Inserir(alterado[i]); } } } else { for (int i = 0; i < list_pp.Count; i++) { PedidoProdutoDAO.Inserir(list_pp[i]); } } bCancelar_Click(sender, e); MessageBox.Show("O pedido " + pedido.getPedidoId() + " foi alterado com sucesso!"); } } } } } catch (Exception ex) { //ingredientesNovo = new List<ListaIngredientes>(); if (ex.Message.Contains("unique constraint")) { MessageBox.Show("Um valor único não foi informado."); } else { MessageBox.Show("Ocorreu um erro: " + ex.Message); } } }