/** * {@inheritdoc} */ public function processEvent(TrackingVisitEvent $trackingVisitEvent) { $code = $trackingVisitEvent->getWebEvent()->getCode(); $campaign = $this->em->getRepository('OroCRMCampaignBundle:Campaign')->findOneBy(['code' => $code]); if ($campaign) { return [$campaign]; } return []; }
/** * {@inheritdoc} */ public function processEvent(TrackingVisitEvent $trackingVisitEvent) { $targets = []; // identifier $targets[] = $trackingVisitEvent->getVisit()->getIdentifierTarget(); $channel = $trackingVisitEvent->getVisit()->getTrackingWebsite()->getChannel(); $eventName = $trackingVisitEvent->getEvent()->getName(); $eventValue = $trackingVisitEvent->getWebEvent()->getValue(); switch ($eventName) { case self::EVENT_CART_ITEM_ADDED: $targets[] = $this->em->getRepository('OroCRMMagentoBundle:Product')->findOneBy(['originId' => (int) $eventValue]); break; case self::EVENT_ORDER_PLACE_SUCCESS: $targets[] = $this->em->getRepository('OroCRMMagentoBundle:Order')->findOneBy(['subtotalAmount' => $eventValue, 'dataChannel' => $channel]); break; case self::EVENT_ORDER_PLACED: $targets[] = $this->em->getRepository('OroCRMMagentoBundle:Order')->findOneBy(['incrementId' => $eventValue, 'dataChannel' => $channel]); break; case self::EVENT_CHECKOUT_STARTED: $targets[] = $this->em->getRepository('OroCRMMagentoBundle:Cart')->findOneBy(['subTotal' => $eventValue, 'dataChannel' => $channel]); break; case self::EVENT_CUSTOMER_LOGOUT: $targets[] = $this->em->getRepository('OroCRMMagentoBundle:Customer')->findOneBy(['originId' => (int) $eventValue, 'dataChannel' => $channel]); break; } return $targets; }