Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Метод возвращает непривязанный (к болельщику) и неиспользованный промокод
- *
- * @return Promocode или false
- */
- public function getUnusedPromocode()
- {
- $criteria = new CDbCriteria();
- $criteria->compare('is_used', 0);
- $criteria->compare('promo_id', $this->promo_id);
- $criteria->addCondition('fan_id is null');
- return $promocode = Promocode::model()->find($criteria);
- }
- /**
- * Метод привязки промокода к болельщику
- *
- * @return Promocode или false
- */
- // TODO Привязка промокода к акции?
- public function linkPromocodeToFan(Fan $fan)
- {
- $promocode = $this->getUnusedPromocode();
- if ($promocode) {
- $promocode->fan_id = $fan->id;
- $promocode->save();
- } else {
- $promocode = new Promocode();
- $promocode->promocode = Promocode::generate();
- $promocode->promo_id = $this->promo_id;
- $promocode->is_used = 0;
- $promocode->fan_id = $fan->id;
- $promocode->save();
- }
- return $promocode;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement