示例#1
0
        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;
        }
示例#2
0
        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;
            }
        }
示例#3
0
 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;
 }
示例#4
0
 public static bool Salvar(Pedidos pedido)
 {
     if (ValidaCaracter(pedido))
         return PedidoDAO.Gravar(pedido);
     return false;
 }
示例#5
0
 public static bool Alterar(Pedidos pedido)
 {
     if (ValidaCaracter(pedido))
         return PedidoDAO.Alterar(pedido);
     return false;
 }
示例#6
0
        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);
                }
            }
        }
示例#7
0
 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;
     }
 }
示例#8
0
 public static bool Gravar(Pedidos pedido)
 {
     return Inserir(pedido);
 }