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