Пример #1
0
 /**
  * @param Subscription $subscription
  */
 public function save(Subscription $subscription)
 {
     if (!$subscription->getId()) {
         $this->em->persist($subscription);
     }
     $this->em->flush($subscription);
 }
Пример #2
0
 /**
  * Synchronize a subscription
  *
  * @param Subscription $subscription
  * @return bool
  */
 public function synchronise(Subscription $subscription)
 {
     try {
         $contact = ['update' => true, 'purge' => false, 'contact' => ['externalId' => $subscription->getId(), 'properties' => ['email' => $subscription->getEmail()]]];
         $response = $this->post('contact', $contact);
         if ($response->getStatusCode() == '204') {
             //Contact added successfully status code
             $this->subscriptionManager->updateStatus($subscription, Subscription::STATUS_SYNCED);
             return true;
         } else {
             $this->subscriptionManager->updateStatus($subscription, Subscription::STATUS_FAILED);
             return false;
         }
     } catch (\Exception $e) {
         $this->subscriptionManager->updateStatus($subscription, Subscription::STATUS_FAILED);
         return true;
     }
 }