/** * @param MemberActivity $memberActivity */ protected function updateStatistics(MemberActivity $memberActivity) { $mailChimpCampaign = $memberActivity->getCampaign(); $emailCampaign = $mailChimpCampaign->getEmailCampaign(); $marketingList = $mailChimpCampaign->getStaticSegment()->getMarketingList(); $relatedEntities = $this->getMarketingListEntitiesByEmail($marketingList, $memberActivity->getEmail()); $em = $this->registry->getManager(); foreach ($relatedEntities as $relatedEntity) { $emailCampaignStatistics = $this->campaignStatisticsConnector->getStatisticsRecord($emailCampaign, $relatedEntity); $this->incrementStatistics($memberActivity, $emailCampaignStatistics); $em->persist($emailCampaignStatistics); } }
/** * @param MemberActivity $entity * @return bool */ protected function isSkipped(MemberActivity $entity) { if (in_array($entity->getAction(), $this->singleInstanceActivities)) { $searchCondition = ['campaign' => $entity->getCampaign(), 'action' => $entity->getAction(), 'member' => $entity->getMember()]; return (bool) $this->findEntityByIdentityValues('OroCRM\\Bundle\\MailChimpBundle\\Entity\\MemberActivity', $searchCondition); } return false; }
/** * @param MemberActivity $entity * @return bool */ protected function isSkipped(MemberActivity $entity) { if (in_array($entity->getAction(), $this->singleInstanceActivities)) { $searchCondition = ['campaign' => $entity->getCampaign(), 'action' => $entity->getAction(), 'member' => $entity->getMember()]; return (bool) $this->findEntityByIdentityValues(ClassUtils::getClass($entity), $searchCondition); } return false; }