/** * @param \Generated\Shared\Transfer\NewsletterSubscriberTransfer $newsletterSubscriber * @param \Generated\Shared\Transfer\NewsletterTypeTransfer $newsletterType * * @return bool */ public function isAlreadySubscribed(NewsletterSubscriberTransfer $newsletterSubscriber, NewsletterTypeTransfer $newsletterType) { $newsletterSubscriber->requireEmail(); $newsletterType->requireName(); $subscriptionCount = $this->queryContainer->querySubscriptionByEmailAndNewsletterTypeName($newsletterSubscriber->getEmail(), $newsletterType->getName())->count(); return $subscriptionCount > 0; }
/** * @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(); }