/** * @param \Generated\Shared\Transfer\NewsletterSubscriberTransfer $newsletterSubscriberTransfer * * @return bool */ public function assignCustomerToExistingSubscriber(NewsletterSubscriberTransfer $newsletterSubscriberTransfer) { $newsletterSubscriberTransfer->requireEmail()->requireFkCustomer(); $subscriberEntity = $this->queryContainer->querySubscriber()->findOneByEmail($newsletterSubscriberTransfer->getEmail()); if ($subscriberEntity === null) { return false; } $subscriberEntity->setFkCustomer($newsletterSubscriberTransfer->getFkCustomer()); return (bool) $subscriberEntity->save(); }
/** * @param \Generated\Shared\Transfer\NewsletterSubscriberTransfer $newsletterSubscriber * @param \Generated\Shared\Transfer\NewsletterTypeTransfer $newsletterType * * @return \Orm\Zed\Newsletter\Persistence\SpyNewsletterSubscription|null */ protected function getSubscription(NewsletterSubscriberTransfer $newsletterSubscriber, NewsletterTypeTransfer $newsletterType) { if ($newsletterSubscriber->getSubscriberKey() !== null) { $subscriptionEntity = $this->queryContainer->querySubscriptionBySubscriberKeyAndNewsletterTypeName($newsletterSubscriber->getSubscriberKey(), $newsletterType->getName())->findOne(); return $subscriptionEntity; } if ($newsletterSubscriber->getFkCustomer() !== null) { $subscriptionEntity = $this->queryContainer->querySubscriptionByIdCustomerAndNewsletterTypeName($newsletterSubscriber->getFkCustomer(), $newsletterType->getName())->findOne(); return $subscriptionEntity; } return null; }