示例#1
0
文件: Sale.php 项目: margery/thelia
 /**
  * Toggle Sale activity
  *
  * @param  SaleToggleActivityEvent                   $event
  * @throws \Propel\Runtime\Exception\PropelException
  */
 public function toggleActivity(SaleToggleActivityEvent $event)
 {
     $sale = $event->getSale();
     $con = Propel::getWriteConnection(SaleTableMap::DATABASE_NAME);
     $con->beginTransaction();
     try {
         $sale->setDispatcher($event->getDispatcher())->setActive(!$sale->getActive())->save($con);
         // Update related products sale status
         $event->getDispatcher()->dispatch(TheliaEvents::UPDATE_PRODUCT_SALE_STATUS, new ProductSaleStatusUpdateEvent($sale));
         $event->setSale($sale);
         $con->commit();
     } catch (PropelException $e) {
         $con->rollback();
         throw $e;
     }
 }