Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.26 KB | None | 0 0
  1.     /**
  2.      * Метод возвращает непривязанный (к болельщику) и неиспользованный промокод
  3.      *
  4.      * @return Promocode или false
  5.      */
  6.  
  7.     public function getUnusedPromocode()
  8.     {
  9.         $criteria = new CDbCriteria();
  10.         $criteria->compare('is_used', 0);
  11.         $criteria->compare('promo_id', $this->promo_id);
  12.         $criteria->addCondition('fan_id is null');
  13.  
  14.         return $promocode = Promocode::model()->find($criteria);
  15.     }
  16.  
  17.     /**
  18.      * Метод привязки промокода к болельщику
  19.      *
  20.      * @return Promocode или false
  21.      */
  22.  
  23.     // TODO Привязка промокода к акции?
  24.     public function linkPromocodeToFan(Fan $fan)
  25.     {
  26.         $promocode = $this->getUnusedPromocode();
  27.  
  28.         if ($promocode) {
  29.             $promocode->fan_id = $fan->id;
  30.             $promocode->save();
  31.         } else {
  32.             $promocode = new Promocode();
  33.             $promocode->promocode = Promocode::generate();
  34.             $promocode->promo_id = $this->promo_id;
  35.             $promocode->is_used = 0;
  36.             $promocode->fan_id = $fan->id;
  37.             $promocode->save();
  38.         }
  39.  
  40.         return $promocode;
  41.     }
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement