prepare customer registration cancel

This commit is contained in:
2020-04-18 07:21:54 +02:00
committed by Roland Schneider
parent f175258bc9
commit e87adb36fd
7 changed files with 115 additions and 30 deletions

View File

@@ -63,6 +63,8 @@ class EventRegistrationManager extends BaseObject
try {
if ($cardEventForm->validate()) {
$requiresTicket = false;
/** @var Card $card */
$card = Card::readCard($cardEventForm->card_number, false);
if (!isset($card)) {
@@ -73,10 +75,10 @@ class EventRegistrationManager extends BaseObject
throw new NotFoundHttpException('Customer not found', self::CUSTOMER_NOT_FOUND);
}
$activeTickets = $card->getActiveTickets();
if (count($activeTickets) === 0) {
throw new NotFoundHttpException('Ticket not found', self::TICKET_NOT_FOUND);
}
// $activeTickets = $card->getActiveTickets();
// if (count($activeTickets) === 0) {
// throw new NotFoundHttpException('Ticket not found', self::TICKET_NOT_FOUND);
// }
/** @var Event $event */
$event = Event::find()->andWhere(['id' => $cardEventForm->event_id])->one();
@@ -98,22 +100,22 @@ class EventRegistrationManager extends BaseObject
throw new ServerErrorHttpException('Event type not found', self::EVENT_TYPE_NOT_FOUND);
}
$selectedTicket = $eventType->findTicketAllowingEventType($activeTickets);
if (!isset($selectedTicket)) {
throw new NotFoundHttpException('Ticket not found', self::TICKET_INSUFFICIENT);
}
if ($selectedTicket->hasOpenReservationCount()) {
$selectedTicket->consumeReservationCount(1);
}
$selectedTicket->save();
// $selectedTicket = $eventType->findTicketAllowingEventType($activeTickets);
//
//
// if (!isset($selectedTicket)) {
// throw new NotFoundHttpException('Ticket not found', self::TICKET_INSUFFICIENT);
// }
//
// if ($selectedTicket->hasOpenReservationCount()) {
// $selectedTicket->consumeReservationCount(1);
// }
// $selectedTicket->save();
$registration = new EventRegistration();
$registration->id_event = $event->id;
$registration->id_card = $card->id_card;
$registration->id_ticket = $selectedTicket->id_ticket;
// $registration->id_ticket = $selectedTicket->id_ticket;
$registration->id_customer = $card->customer->id_customer;
try {
$registration->save(false);
@@ -200,13 +202,13 @@ class EventRegistrationManager extends BaseObject
return false;
}
$ticket = Ticket::findOne(['id_ticket' => $registration->id_ticket]);
if( !isset($ticket ) ) {
throw new \yii\base\Exception('Ticket not found: ' . $registration->id_ticket);
}
$ticket->restoreReservationCount(1);
$ticket->save(false);
// $ticket = Ticket::findOne(['id_ticket' => $registration->id_ticket]);
// if( !isset($ticket ) ) {
// throw new \yii\base\Exception('Ticket not found: ' . $registration->id_ticket);
// }
//
// $ticket->restoreReservationCount(1);
// $ticket->save(false);
$registration->deleted_at = date('Y-m-d H:i:s');
return $registration->save(false);