src/Event/JobAlertSubscriber.php line 18

Open in your IDE?
  1. <?php
  2. namespace App\Event;
  3. use App\Entity\JobAlertHistory;
  4. use DateTime;
  5. use Doctrine\ORM\EntityManagerInterface;
  6. class JobAlertSubscriber
  7. {
  8.     private $entityManager;
  9.     public function __construct(EntityManagerInterface $entityManager)
  10.     {
  11.         $this->entityManager $entityManager;
  12.     }
  13.     public function jobalertSent(JobAlertSentEvent $event)
  14.     {
  15.         $now = new DateTime('now');
  16.         $jobAlert $event->getJobalert();
  17.         $jobAlert->setLastSentOn($now);
  18.         foreach ($event->getVacancies() as $vacancy) {
  19.             $jobAlertHistory = (new JobAlertHistory())
  20.                 ->setJobAlert($jobAlert)
  21.                 ->setVacancy($vacancy)
  22.                 ->setSentAt($now)
  23.             ;
  24.             $this->entityManager->persist($jobAlertHistory);
  25.         }
  26.         $this->entityManager->persist($jobAlert);
  27.         $this->entityManager->flush();
  28.     }
  29. }