public static function save(Venda $venda) { $date = date('Y-m-d'); $sql = "INSERT INTO venda (data_venda) values ('{$date}')"; print $sql . "<br>\n"; self::$conn->query($sql); $id = self::getLastId(); $venda->setId($id); foreach ($venda->getItens() as $item) { $quantidade = $item[0]; $produto = $item[1]; $preco = $produto->preco; $sql = "INSERT INTO item_venda (id_venda, id_produto, quantidade, preco)" . " values('{$id}', '{$produto->id}', '{$quantidade}', '{$preco}')"; print $sql . "<br>\n"; self::$conn->query($sql); } }
* método getItems * retorna o array de itens da venda */ public function getItens() { return $this->itens; } } // instancia objeto Venda $venda = new Venda(); // adiciona alguns produtos $venda->addItem(3, new Produto('Vinho', 10, 15)); // 58.5 $venda->addItem(2, new Produto('Salame', 20, 20)); // 52 $venda->addItem(1, new Produto('Queijo', 30, 10)); // 13 /* * rotina para calcular o total * de uma venda e diminuir o estoque */ $total = 0; foreach ($venda->getItens() as $item) { $quantidade = $item[0]; $produto = $item[1]; // soma o total $total += $produto->calculaPrecoVenda() * $quantidade; // diminui estoque $produto->registraVenda($quantidade); } echo $total;
function insert(Venda $venda) { $id = $venda->getID(); date_default_timezone_set('America/Sao_Paulo'); $date = date("Y-m-d"); // insere a venda no banco de dados $sql = "INSERT INTO venda (id, data) values ('{$id}', '{$date}')"; echo $sql . "<br>\n"; // percorre os itens vendidos foreach ($venda->getItens() as $item) { $quantidade = $item[0]; $produto = $item[1]; $descricao = $produto->getDescricao(); // insere os itens da venda no banco de dados $sql = "INSERT INTO venda_items (ref_venda, produto, quantidade)" . " values ('{$id}', '{$descricao}', '{$quantidade}')"; echo $sql . "<br>\n"; } }