src/Utils/OrderCreator/Event/Handler/LegacyEventsDispatcherHandler.php line 21

Open in your IDE?
  1. <?php
  2. namespace App\Utils\OrderCreator\Event\Handler;
  3. use App\Event\OrderPlacedEvent;
  4. use App\Message\Order\UniqskillsOrderPlacedEvent;
  5. use App\Utils\OrderCreator\Event\OrderPlacingFinished;
  6. use Symfony\Component\EventDispatcher\Attribute\AsEventListener;
  7. use Symfony\Component\EventDispatcher\EventDispatcherInterface;
  8. use Symfony\Component\Messenger\MessageBusInterface;
  9. #[AsEventListener(eventOrderPlacingFinished::class)]
  10. final class LegacyEventsDispatcherHandler
  11. {
  12.     public function __construct(
  13.         private readonly EventDispatcherInterface $eventDispatcher,
  14.         private readonly MessageBusInterface $messageBus,
  15.     ){
  16.     }
  17.     public function __invoke(OrderPlacingFinished $event): void
  18.     {
  19.         $order $event->getOrderCreationContext()->getOrder();
  20.         $this->eventDispatcher->dispatch(new OrderPlacedEvent($order->getId()), OrderPlacedEvent::ORDER_PLACED);
  21.         if (!$order->getUniqskillsProducts()->isEmpty()) {
  22.             $this->messageBus->dispatch(new UniqskillsOrderPlacedEvent($order->getId()));
  23.         }
  24.     }
  25. }