fitness-web/backend/models/CustomerActivateForm.php

65 lines
1.3 KiB
PHP

<?php
namespace backend\models;
use common\models\Card;
use common\models\Ticket;
use Yii;
use yii\base\Model;
class CustomerActivateForm extends Model{
public $inactiveCardCount;
public $message ;
public function rules()
{
return [
];
}
public function loadActiveCardCount(){
$this->inactiveCardCount = Card::find()->andWhere(
['status' => Card::STATUS_INACTIVE]
)->count();
}
/**
* @return bool
* @throws \Exception
*/
public function activate(){
if ( !$this->validate()){
return false;
}
$tx = \Yii::$app->db->beginTransaction();
assert(isset($tx));
try{
Yii::$app->db->createCommand(Ticket::$SQL_UPDATE_TICKETS_END_DATE_ON_CARD_ACTIVATION )->execute();
Card::updateAll(
[
'status' => Card::STATUS_ACTIVE,
],
[
'status' => Card::STATUS_INACTIVE
]
);
Card::updateFlagStatus();
$tx->commit();
}catch (\Exception $exception){
$tx->rollBack();
throw $exception;
}
$this->message = $this->inactiveCardCount ." kártya aktiválva" ;
return true;
}
}