src/EventSubscriber/ReservationSubscriber.php line 23

Open in your IDE?
  1. <?php
  2. namespace App\EventSubscriber;
  3. use App\Entity\Reservation;
  4. use App\Event\ReservationStatusChangedEvent;
  5. use App\Service\RequestService;
  6. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  7. class ReservationSubscriber implements EventSubscriberInterface
  8. {
  9.     public function __construct(private RequestService $requestService)
  10.     {
  11.     }
  12.     public static function getSubscribedEvents(): array
  13.     {
  14.         return [
  15.             ReservationStatusChangedEvent::class => 'onStatusChanged',
  16.         ];
  17.     }
  18.     public function onStatusChanged(ReservationStatusChangedEvent $event): void
  19.     {
  20.         $reservation $event->getReservation();
  21.         // TDP-2233 - ödemesi alınan rezervasyonlarla ilişkili talepler siliniyor
  22.         if ($reservation->getStatus() === Reservation::STATUS_NEW) {
  23.             $this->requestService->removeAllByReservation($reservation);
  24.         }
  25.     }
  26. }