コード例 #1
0
ファイル: Classes.php プロジェクト: pylypen/api-side
 public function cancelClass()
 {
     $trans = $this->hasOne(TransactionHistory::className(), ['class_id' => 'class_id'])->where(['class_id' => $this->class_id])->andWhere("`transation_id` NOT IN (SELECT `transation_id` FROM `transaction_history` WHERE `class_id` = {$this->class_id} AND `status` = 'REFUNDED')")->all();
     if ($trans) {
         $transModel = new TransactionHistory();
         foreach ($trans as $val) {
             $transModel->setRefund($val->transation_id);
             $transactionData = array("user_id" => $val->user_id, "description" => "Trainer refunded class {$this->class_name}", "transation_id" => $val->transation_id, "status" => 'REFUNDED', "amount" => $val->amount * -1, "currency" => 'USD', "class_id" => $this->class_id, "transaction_refund" => true);
             $transactionHistoty = new TransactionHistory();
             $transactionHistoty->load($transactionData, '');
             if (!$transactionHistoty->save()) {
                 return ApiHelper::errorResponse($transactionHistoty->getErrors(), 422);
             }
             $notification = new Notification();
             $notification->load(array("user_id" => $val->user_id, "title" => "Refunded class {$this->class_name}", "text" => "Trainer remove class '{$this->class_name}'", "status" => "new"), '');
             $notification->save();
             $notificationTrainer = new Notification();
             $notificationTrainer->load(array("user_id" => $this->class_trainer_id, "title" => "You successfuly remove class.", "text" => "You successfuly remove class '{$this->class_name}'.", "status" => "new"), '');
             $notificationTrainer->save();
         }
     }
     $query = self::findOne(['class_id' => $this->class_id]);
     $query->delete();
 }
コード例 #2
0
ファイル: Users.php プロジェクト: praveen-tissera/Horsebuzz
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getNotifications()
 {
     return $this->hasMany(Notification::className(), ['user_id' => 'id']);
 }