/** * Assign MergeVar values to properties of Member * * @param Member $member */ protected function assignMergeVarValues(Member $member) { $subscribersList = $member->getSubscribersList(); if (!$subscribersList) { return; } $this->mergeVarProvider->assignMergeVarValues($member, $this->mergeVarProvider->getMergeVarFields($subscribersList)); }
/** * @param Member $member * @return MarketingListStateItemInterface[] */ protected function getMarketingListStateItems(Member $member) { $entities = []; if (!($subscribersList = $member->getSubscribersList())) { return $entities; } $marketingLists = $this->getMarketingListIterator($subscribersList); foreach ($marketingLists as $marketingList) { $marketingListEntities = $this->getMarketingListEntitiesByEmail($marketingList, $member->getEmail()); /** @var MarketingList $marketingListEntity */ foreach ($marketingListEntities as $marketingListEntity) { $entityId = $this->doctrineHelper->getSingleEntityIdentifier($marketingListEntity); $criteria = ['entityId' => $entityId, 'marketingList' => $marketingList->getId()]; if ($this->getMarketingListStateItem($criteria)) { continue; } /** @var MarketingListStateItemInterface $marketingListStateItem */ $marketingListStateItem = new $this->marketingListStateItemClassName(); $marketingListStateItem->setEntityId($entityId)->setMarketingList($marketingList); $entities[$marketingList->getEntity()][] = $marketingListStateItem; } } return $entities; }