public static Pedidos Buscar(int codigo) { Pedidos pedido = null; using (OracleCommand c = ConexaoOracle.ObterConexao().CreateCommand()) { c.CommandType = System.Data.CommandType.Text; c.CommandText = "SELECT clienteid, funcionarioid, valortotal, valorpago, formapagamento, data, desconto, status, cancelado, entregaid, observacao FROM pedidos where pedidoid=:codigo"; c.Parameters.Add("codigo", OracleType.Int32).Value = codigo; using (OracleDataReader leitor = c.ExecuteReader()) { while (leitor.Read()) { int bd_clienteid = leitor.GetInt32(0); int bd_funcionarioid = leitor.GetInt32(1); float bd_valortotal = leitor.GetFloat(2); float bd_valorpago = leitor.GetFloat(3); String bd_formapagamento = leitor.GetString(4); DateTime bd_data = leitor.GetDateTime(5); float bd_desconto = leitor.GetFloat(6); String bd_status = leitor.GetString(7); int bd_cancelado = leitor.GetInt32(8); int bd_entregaid = leitor.GetInt32(9); String bd_observacao = leitor.GetString(10); pedido = new Pedidos(bd_clienteid, bd_funcionarioid, bd_entregaid, bd_valortotal, bd_valorpago, bd_formapagamento, bd_data, bd_desconto, bd_status, bd_cancelado, bd_observacao); } } } return pedido; }
public static bool Alterar(Pedidos pedido) { try { using (OracleCommand c = ConexaoOracle.ObterConexao().CreateCommand()) { c.CommandType = System.Data.CommandType.Text; c.CommandText = "UPDATE PEDIDOS SET valortotal=:valortotal, valorpago=:valorpago, formapagamento=:formapagamento, desconto=:desconto, status=:status, cancelado=:cancelado, entregaid=:entregaid, observacao=:observacao WHERE pedidoid =:codigo"; c.Parameters.Add("valortotal", OracleType.Float).Value = pedido.getValorTotal(); c.Parameters.Add("valorpago", OracleType.Float).Value = pedido.getValorPago(); c.Parameters.Add("formapagamento", OracleType.VarChar).Value = pedido.getFormaPagamento(); c.Parameters.Add("desconto", OracleType.Float).Value = pedido.getDesconto(); c.Parameters.Add("status", OracleType.VarChar).Value = pedido.getStatus(); c.Parameters.Add("cancelado", OracleType.Int32).Value = pedido.getCancelado(); c.Parameters.Add("entregaid", OracleType.Int32).Value = pedido.getEntregaId(); c.Parameters.Add("observacao", OracleType.VarChar).Value = pedido.getObservacao(); c.Parameters.Add("codigo", OracleType.Int32).Value = pedido.getPedidoId(); c.ExecuteNonQuery(); } return true; } catch (OracleException e) { throw e; } }
public static bool ValidaCaracter(Pedidos pedido) { if (pedido.getValorPago() < pedido.getValorTotal()) throw new CaracterInvalidoException("O valor pago não pode ser inferior que o valor total da compra!"); if(pedido.getValorTotal() <= 0 ) throw new CaracterInvalidoException("O valor total deve ser superior a zero!"); return true; }
public static bool Salvar(Pedidos pedido) { if (ValidaCaracter(pedido)) return PedidoDAO.Gravar(pedido); return false; }
public static bool Alterar(Pedidos pedido) { if (ValidaCaracter(pedido)) return PedidoDAO.Alterar(pedido); return false; }
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); } } }
public static bool Inserir(Pedidos pedido) { try { using (OracleCommand c = ConexaoOracle.ObterConexao().CreateCommand()) { c.CommandType = System.Data.CommandType.Text; c.CommandText = "INSERT into PEDIDOS values(PEDIDOS_SEQ.NEXTVAL, :clienteid, :funcionarioid, :valortotal, :valorpago, :formapagamento, :data, :desconto, :status, :cancelado, :entregaid, :observacao)"; c.Parameters.Add("clienteid", OracleType.Int32).Value = pedido.getClienteId(); c.Parameters.Add("funcionarioid", OracleType.Int32).Value = pedido.getFuncionarioId(); c.Parameters.Add("valortotal", OracleType.Float).Value = pedido.getValorTotal(); c.Parameters.Add("valorpago", OracleType.Float).Value = pedido.getValorPago(); c.Parameters.Add("formapagamento", OracleType.VarChar).Value = pedido.getFormaPagamento(); c.Parameters.Add("data", OracleType.DateTime).Value = pedido.getData(); c.Parameters.Add("desconto", OracleType.Float).Value = pedido.getDesconto(); c.Parameters.Add("status", OracleType.VarChar).Value = pedido.getStatus(); c.Parameters.Add("cancelado", OracleType.Int32).Value = pedido.getCancelado(); c.Parameters.Add("entregaid", OracleType.Int32).Value = pedido.getEntregaId(); c.Parameters.Add("observacao", OracleType.VarChar).Value = pedido.getObservacao(); c.ExecuteNonQuery(); return true; } } catch (OracleException e) { throw e; } }
public static bool Gravar(Pedidos pedido) { return Inserir(pedido); }