/**
  * Send reminder using email
  *
  * @param Reminder $reminder
  */
 public function sendReminderEmail(Reminder $reminder)
 {
     $this->emailNotification->setReminder($reminder);
     try {
         $this->emailNotificationProcessor->process($this->emailNotification->getEntity(), [$this->emailNotification]);
         $reminder->setState(Reminder::STATE_SENT);
     } catch (\Exception $exception) {
         $reminder->setState(Reminder::STATE_FAIL);
         $reminder->setFailureException($exception);
     }
 }
 /**
  * Send reminder using email
  *
  * @param Reminder $reminder
  */
 public function sendReminderEmail(Reminder $reminder)
 {
     $event = new SendReminderEmailEvent($reminder);
     $this->eventDispatcher->dispatch(ReminderEvents::BEFORE_REMINDER_EMAIL_NOTIFICATION_SEND, $event);
     $this->emailNotification->setReminder($reminder);
     try {
         $this->emailNotificationProcessor->process($this->emailNotification->getEntity(), [$this->emailNotification]);
         $reminder->setState(Reminder::STATE_SENT);
     } catch (\Exception $exception) {
         $reminder->setState(Reminder::STATE_FAIL);
         $reminder->setFailureException($exception);
     }
 }