public function removeItem(Produto $produto) { $item = ItemPedido::model()->find("produto_id= {$produto->getPrimaryKey()} AND pedido_id= {$this->getPrimaryKey()}"); if (count($item) > 0) { $transaction = Yii::app()->db->beginTransaction(); try { $quatidade_a_ser_reposta = $item->getAttribute("quantidade"); if ($item->delete()) { $produto->setAttribute("qtd_estoque", $produto->getAttribute("qtd_estoque") + $quatidade_a_ser_reposta); if (!$produto->update(array("qtd_estoque"))) { throw new CHttpException(500, 'Um produto foi removido e não houve reposição de estoque!'); } $transaction->commit(); return true; } } catch (Exception $e) { $transaction->rollback(); } } return false; }
* @param $unidades = unidades vendidas */ public function registraVenda($unidades) { $this->estoque -= $unidades; } /* * método calculaPrecoVenda * retorna o preco de venda, baseado em uma margem de 30% sobre o custo */ public function calculaPrecoVenda() { return $this->preco_custo * 1.3; } } // instancia objeto Produto $vinho = new Produto(); $vinho->id = 7; $vinho->descricao = 'Vinho Cabernet'; $vinho->estoque = 10; $vinho->preco_custo = 10; $vinho->insert(); $vinho->registraVenda(5); echo 'estoque: ' . $vinho->estoque . "<br>\n"; echo 'preco_custo: ' . $vinho->preco_custo . "<br>\n"; echo 'preco_venda: ' . $vinho->calculaPrecoVenda() . "<br>\n"; $vinho->registraCompra(10, 20); $vinho->update(); echo 'estoque: ' . $vinho->estoque . "<br>\n"; echo 'preco_custo: ' . $vinho->preco_custo . "<br>\n"; echo 'preco_venda: ' . $vinho->calculaPrecoVenda() . "<br>\n";
$produto->setDescricao($descricao); $produto->setComprimento($comprimento); $produto->setLargura($largura); $produto->setAltura($altura); $produto->setPeso($peso); $produto->setStatusProduto($status); $produto->setQuantidade($quantidade); $produto->setValorUnitario($valor_unitario); $produto->setDataCadastro($data); $produto->setEan($ean); $produto->setMetaTagTitulo($meta_tag_titulo); $produto->setMetaTagDescricao($meta_tag_descricao); $produto->setMetaTagPalavraChave($meta_tag_palavra_chave); $produto->setTagProduto($tag_produto); # Update if ($produto->update($id_produto)) { echo '<div class="alert alert-success"> <button type="button" class="close" data-dismiss="alert">×</button> <strong>Atualizado com sucesso!</strong> </div>'; header("Refresh: 2, home.php?pagina=list-produtos"); } } ?> <div class="row"> <div class="span12"> <div id="target-1" class="widget"> <div class="widget-content"> <h1>Cadastro de Produtos</h1> <p>A Lorem ipsum dolor sit amet, consectetur adipisicing elit. Consequuntur natus molestias, ut corporis dolorem consequatur animi sint distinctio accusantium assumenda quo, iste voluptatum ducimus obcaecati odit, provident atque temporibus odio.</p> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ut eos cumque sapiente culpa blanditiis mollitia reprehenderit veritatis obcaecati? Nihil, cupiditate aperiam odit repellat dignissimos debitis quos exercitationem optio placeat sunt!</p>