update card after activate

This commit is contained in:
Roland Schneider 2020-04-22 22:13:36 +02:00
parent 9d861a9194
commit 806501fbd6
2 changed files with 21 additions and 20 deletions

View File

@ -33,31 +33,28 @@ class CustomerActivateForm extends Model{
* @throws \Exception
*/
public function activate(){
if ( !$this->validate()){
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
]
);
try {
// update ticket end dates
Yii::$app->db->createCommand(Ticket::$SQL_UPDATE_TICKETS_END_DATE_ON_CARD_ACTIVATION)->execute();
// update card.status
Card::updateAll([ 'status' => Card::STATUS_ACTIVE, ], [ 'status' => Card::STATUS_INACTIVE ] );
// update card.flag
Card::updateFlagStatus();
// update ticket
\Yii::$app->db->createCommand(Ticket::$SQL_UPDATE)->execute();
$tx->commit();
}catch (\Exception $exception){
} catch (\Exception $exception) {
$tx->rollBack();
throw $exception;
}
$this->message = $this->inactiveCardCount ." kártya aktiválva" ;
$this->message = $this->inactiveCardCount . " kártya aktiválva";
return true;
}

View File

@ -6,6 +6,7 @@ namespace frontend\models;
use common\models\Card;
use common\models\Ticket;
use Exception;
use Yii;
use yii\base\Model;
use yii\data\ArrayDataProvider;
@ -98,7 +99,7 @@ class SingleCustomerActivateForm extends Model{
/**
* @return bool
* @throws \Exception
* @throws Exception
*/
public function activate()
{
@ -106,7 +107,7 @@ class SingleCustomerActivateForm extends Model{
return false;
}
$tx = \Yii::$app->db->beginTransaction();
$tx = Yii::$app->db->beginTransaction();
assert(isset($tx));
try {
@ -122,8 +123,11 @@ class SingleCustomerActivateForm extends Model{
]
);
Card::updateFlagStatus();
Card::updateCardFlagTicket( $this->card->id_card);
$tx->commit();
} catch (\Exception $exception) {
} catch (Exception $exception) {
$tx->rollBack();
throw $exception;
}