/** * {@inheritdoc} */ public function load(ObjectManager $manager) { $organization = $manager->getRepository('OroOrganizationBundle:Organization')->getFirst(); foreach ($this->data as $data) { $entity = new Campaign(); $entity->setOwner($organization); $data['subscribersList'] = $this->getReference($data['subscribersList']); $data['channel'] = $this->getReference($data['channel']); $this->setEntityPropertyValues($entity, $data, ['reference']); $this->setReference($data['reference'], $entity); $manager->persist($entity); } $manager->flush(); }
/** * @return array */ protected function getArguments() { return ['cid' => $this->campaign->getOriginId(), 'opts' => ['start' => (int) $this->offset / $this->batchSize, 'limit' => $this->batchSize]]; }
/** * Creates iterator of member activities for campaign * * @param Campaign $campaign * @return \Iterator */ protected function createResultIterator(Campaign $campaign) { $parameters = $this->parameters; $parameters['id'] = $campaign->getOriginId(); return $this->createExportIterator(MailChimpClient::EXPORT_CAMPAIGN_SUBSCRIBER_ACTIVITY, $parameters); }
/** * @param MemberActivity $memberActivity * @param Channel $channel * @param Campaign $campaign * @return Member|null */ protected function findExistingMember(MemberActivity $memberActivity, Channel $channel, Campaign $campaign) { $searchCondition = ['channel' => $channel, 'subscribersList' => $campaign->getSubscribersList()]; $member = $memberActivity->getMember(); $email = $member ? $member->getEmail() : $memberActivity->getEmail(); if ($member && ($originId = $member->getOriginId())) { $searchCondition['originId'] = $originId; } elseif ($email) { $searchCondition['email'] = $email; } else { return null; } return $this->findEntityByIdentityValues('OroCRM\\Bundle\\MailChimpBundle\\Entity\\Member', $searchCondition); }
/** * @param Member $member * @param Channel $channel * @param Campaign $campaign * @return Member */ protected function findExistingMember(Member $member, Channel $channel, Campaign $campaign) { $searchCondition = ['channel' => $channel, 'subscribersList' => $campaign->getSubscribersList()]; if ($originId = $member->getOriginId()) { $searchCondition['originId'] = $originId; } else { $searchCondition['email'] = $member->getEmail(); } return $this->findEntityByIdentityValues(ClassUtils::getClass($member), $searchCondition); }
public function testPreUpdate() { $this->assertNull($this->target->getUpdatedAt()); $this->target->preUpdate(); $this->assertInstanceOf('\\DateTime', $this->target->getUpdatedAt()); }