/** * @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(); }
/** * @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; }