src/CIC/EventSubscriber/cicApplyOnlineStudentPortalChangeSchoolEventSubscriber.php line 44

Open in your IDE?
  1. <?php
  2. namespace App\CIC\EventSubscriber;
  3. use App\CIC\Service\cicApplyOnlineApiService;
  4. use App\Event\Residence\BookingResidenceUpdatedEvent;
  5. use App\Event\School\Student\StudentProfilePortalLoginChangeEvent;
  6. use App\Message\Cic\StudentProfilePortalApplicantUpdateMessage;
  7. use CIC\DB\envLoader\db;
  8. use Doctrine\ORM\EntityManagerInterface;
  9. use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
  10. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  11. use Symfony\Component\Messenger\MessageBusInterface;
  12. class cicApplyOnlineStudentPortalChangeSchoolEventSubscriber implements EventSubscriberInterface
  13. {
  14.     private ParameterBagInterface $params;
  15.     private $exporter;
  16.     private $sync false;
  17.     private EntityManagerInterface $em;
  18.     private MessageBusInterface $bus;
  19.     /**
  20.      * DepartmentChangeSubscriber constructor.
  21.      */
  22.     public function __construct(EntityManagerInterface $emMessageBusInterface $bus)
  23.     {
  24.         $this->em $em;
  25.         $this->bus $bus;
  26.     }
  27.     public static function getSubscribedEvents()
  28.     {
  29.         return [
  30.             StudentProfilePortalLoginChangeEvent::class => [
  31.                 ['onChange'],
  32.             ],
  33.         ];
  34.     }
  35.     public function onChange(StudentProfilePortalLoginChangeEvent $event)
  36.     {
  37.         if($event->getStudent()->getStudentPortalUser()) {
  38.             $message = new StudentProfilePortalApplicantUpdateMessage($event->getStudent()->getStudentNumber());
  39.             $this->bus->dispatch($message);
  40.         }
  41.         return;
  42.     }
  43. }