<?php
namespace Mm\Escmid\ResearchGrantBundle\EventSubscriber;
use Mm\Escmid\ResearchGrantBundle\Entity\EmailLog;
use Mm\Escmid\ResearchGrantBundle\Event\MailSendEvent;
use Mm\Escmid\ResearchGrantBundle\RgrDao;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class MailServiceEventSubscriber implements EventSubscriberInterface
{
public function __construct(private readonly RgrDao $dao)
{
}
public static function getSubscribedEvents()
{
return [
MailSendEvent::NAME => 'onMailSend',
];
}
public function onMailSend(MailSendEvent $event): void
{
$emailLog = new EmailLog();
$emailLog->setAction($event->getAction());
$emailLog->setActionTime(new \DateTime());
$emailLog->setReviewerId($event->getReviewerId());
$emailLog->setProposalId($event->getProposalId());
$emailLog->setMailType($event->getMailType());
$this->dao->saveEmailLog($emailLog);
}
}