public function run(ImportedEventOccurrenceModel $importedEventOccurrenceModel)
 {
     $eventRepo = new EventRepository();
     $eventRecurSetRepo = new EventRecurSetRepository();
     if ($importedEventOccurrenceModel->hasReoccurence()) {
         // Have to load it looking for the right time to!
         $event = $this->loadEventForImportedReoccurredEvent($importedEventOccurrenceModel);
     } else {
         // just load it.
         $event = $this->loadEventForImportedEvent($importedEventOccurrenceModel);
     }
     if ($event) {
         $this->eventsSeenIDs[] = $event->getId();
         // Set Existing Event From Import Event URL
         if ($importedEventOccurrenceModel->getIsDeleted()) {
             if (!$event->getIsDeleted()) {
                 $eventRepo->delete($event);
                 return true;
             }
         } else {
             if ($event->setFromImportedEventModel($importedEventOccurrenceModel) || $event->getIsDeleted()) {
                 $event->setIsDeleted(false);
                 $eventRepo->edit($event);
                 return true;
             }
         }
     } else {
         if (!$this->importURL->getIsManualEventsCreation()) {
             // New Event From Import Event URL
             $event = $this->newEventFromImportedEventModel($importedEventOccurrenceModel);
             if ($this->eventRecurSet) {
                 $event->setEventRecurSetId($this->eventRecurSet->getId());
             }
             $eventRepo->create($event, $this->site, null, $this->group, null, $importedEventOccurrenceModel);
             $this->eventsSeenIDs[] = $event->getId();
             if (!$this->eventRecurSet && $this->makeEventRecurSetIfNone) {
                 $this->eventRecurSet = $eventRecurSetRepo->getForEvent($event);
             }
             return true;
         } else {
             return false;
         }
     }
     return false;
 }
 /** @return \models\EventRecurSetModel **/
 public function getForEvent(EventModel $event)
 {
     global $DB;
     $eventRecurSet = $this->loadForEvent($event);
     if (!$eventRecurSet) {
         try {
             $DB->beginTransaction();
             $stat = $DB->prepare("INSERT INTO event_recur_set (created_at) VALUES (:created_at) RETURNING id");
             $stat->execute(array('created_at' => \TimeSource::getFormattedForDataBase()));
             $data = $stat->fetch();
             $eventRecurSet = new EventRecurSetModel();
             $eventRecurSet->setId($data['id']);
             $stat = $DB->prepare("UPDATE event_information SET event_recur_set_id = :ersi WHERE id = :id");
             $stat->execute(array('ersi' => $eventRecurSet->getId(), 'id' => $event->getId()));
             $DB->commit();
         } catch (Exception $e) {
             $DB->rollBack();
         }
     }
     return $eventRecurSet;
 }