예제 #1
0
 /**
  * @param \Generated\Shared\Transfer\NewsletterSubscriberTransfer $newsletterSubscriber
  * @param \Generated\Shared\Transfer\NewsletterTypeTransfer $newsletterType
  *
  * @return void
  */
 public function subscribe(NewsletterSubscriberTransfer $newsletterSubscriber, NewsletterTypeTransfer $newsletterType)
 {
     $newsletterSubscriber->requireIdNewsletterSubscriber();
     $subscriptionEntity = new SpyNewsletterSubscription();
     $subscriptionEntity->setFkNewsletterSubscriber($newsletterSubscriber->getIdNewsletterSubscriber());
     $subscriptionEntity->setFkNewsletterType($this->getIdNewsletterType($newsletterType));
     $subscriptionEntity->save();
 }
예제 #2
0
 /**
  * @param \Generated\Shared\Transfer\NewsletterSubscriberTransfer $subscriberTransfer
  *
  * @return \Orm\Zed\Newsletter\Persistence\SpyNewsletterSubscriber|null
  */
 protected function findSubscriberEntity(NewsletterSubscriberTransfer $subscriberTransfer)
 {
     $subscriberQuery = $this->queryContainer->querySubscriber();
     $idNewsletterSubscriber = $subscriberTransfer->getIdNewsletterSubscriber();
     if ($idNewsletterSubscriber !== null) {
         return $subscriberQuery->findOneByIdNewsletterSubscriber($idNewsletterSubscriber);
     }
     $email = $subscriberTransfer->getEmail();
     if ($email !== null) {
         return $subscriberQuery->findOneByEmail($email);
     }
     return null;
 }