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