Пример #1
0
 public function testRetrive()
 {
     Yii::import("application.models.Produto");
     $produto = new Produto();
     $produto->setAttribute('categoria_id', 1);
     $produto->setAttribute('nome', 'Panasonic');
     $result = $produto->search()->getData();
     $this->assertTrue($result[0]->getAttribute('nome') == $this->produtos['produto_01']['nome']);
 }
Пример #2
0
 public function actionBusca()
 {
     $this->layout = "search";
     $produto = new Produto();
     $session = new CHttpSession();
     $session->open();
     $session->setTimeout(120);
     $categoria = null;
     if (isset($_POST['Produto'])) {
         $produto->setAttribute('categoria_id', $_POST['Produto']['categoria_id']);
         $categoria = Categoria::model()->findByPk($_POST['Produto']['categoria_id']);
         $produto->setAttribute('nome', $_POST['Produto']['nome']);
         $session["post_produto"] = $_POST['Produto'];
     }
     if (isset($session["post_produto"])) {
         $produto->setAttributes($session["post_produto"]);
     }
     $dataProvider = $produto->search();
     $this->render('busca', array('dataProvider' => $dataProvider, 'categoria' => $categoria, 'modelo_consulta' => $produto));
 }
Пример #3
0
 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;
 }