public function novo(ProdutosPedidos $produtos) { $query = "INSERT INTO produtos_pedidos (" . "id_produto, id_pedido, quantidade, valor_unitario) " . "VALUES " . "(:id_produto, " . ":id_pedido, " . ":quantidade, " . ":valor_unitario)"; $stmt = $this->conexao->prepare($query); $stmt->bindValue(":id_produto", $produtos->getIdProduto(), PDO::PARAM_STR); $stmt->bindValue(":id_pedido", $produtos->getIdPedido(), PDO::PARAM_STR); $stmt->bindValue(":quantidade", $produtos->getQuantidade(), PDO::PARAM_STR); $stmt->bindValue(":valor_unitario", $produtos->getValorUnitario(), PDO::PARAM_STR); $stmt->execute(); // pega o último id inserido return $this->conexao->LastInsertId(); }
public function fecharCompra() { /** * Grava o pedido */ $this->modelo('PedidoDAO'); $pedido = new Pedido(); $pedido->setIdcliente($_REQUEST['id_cliente']); $pedido->setDataPedido(date('Y-m-d')); $idPedido = $this->PedidoDAO->novo($pedido); /** * Grava os produtos pedidos */ $this->modelo('ProdutosPedidosDAO'); foreach ($_SESSION['produtos_compra'] as $valor) { $p = new ProdutosPedidos(); $p->setIdPedido($idPedido); $p->setIdProduto($valor['id_produto']); $p->setQuantidade($valor['qtd_produto']); $p->setValorUnitario($valor['valor']); $objProdutos = $this->ProdutosPedidosDAO->novo($p); } /** * Grava a venda */ $total_venda = $_SESSION['frete'] + $_SESSION['produtos_total']; $this->modelo('VendaDAO'); $venda = new Venda(); $venda->setIdPedido($idPedido); $venda->setIdEnderecoEnvio(4); $venda->setValor($total_venda); $venda->setPago(0); $venda->setIdFormaPagamento(1); $venda->setEnviado(0); $venda->setIdFormaEnvio(1); $objVenda = $this->VendaDAO->fechaVenda($venda); /** * Remove os itens do carrinho */ $this->modelo('CarrinhoDAO'); $carrinho = new Carrinho(); $carrinho->setSession($_SESSION['visitante']); $objCarrinho = $this->CarrinhoDAO->limpaVenda($carrinho); /** * Limpa as sessões */ $_SESSION['frete'] = null; unset($_SESSION['frete']); $_SESSION['produtos_total'] = null; unset($_SESSION['produtos_total']); /** * Redireciona para a página de pedidos realizados do cliente */ $this->visao->render('cliente/index'); }