/** * @return EventContainer */ private function getEventContainer() { if (null === $this->eventContainer) { if (null === $this->getIdentifier()) { throw new AggregateRootIdNotInitialized("Aggregate Id unknown in [" . get_class($this) . "] Make sure the Aggregate Id is initialized before registering events."); } $this->eventContainer = new EventContainer($this->getIdentifier()); $this->eventContainer->initializeSequenceNumber($this->lastEventScn); } return $this->eventContainer; }
/** * * @param <type> $fnEventContainer * @param <type> $updateDate * @param <type> $accountOffset * @return <type> */ private function ConvertFunambolToWMEventContainer(&$fnEventContainer, $updateDate = FALSE, $accountOffset = 0) { $wmEventContainer = new EventContainer(); /* $this->_container['calendarId'] = null; $this->_container['eventId'] = null; */ $wmEventContainer->SetValue('FunambolEventId', $fnEventContainer->GetValue('id', 'int')); // $fnEventContainer->SetValue('userid', $fnUserId); if ($updateDate) { $fnDateModified = $this->ConvertFNtoWMTimestamp($fnEventContainer->GetValue('last_update'), TRUE); $wmEventContainer->SetValue('eventLastModified', $fnDateModified); } else { //$wmContactContainer->_container['DateCreated'] = null; //$wmContactContainer->_container['DateModified'] = null; } $wmEventContainer->SetValue('eventAllDay', $fnEventContainer->GetValue('all_day')); $wmEventContainer->SetValue('eventText', $fnEventContainer->GetValue('body')); $this->log("fnEventContainer->GetValue('dstart')=" . $fnEventContainer->GetValue('dstart')); $wmEventContainer->SetValue('eventTimeFrom', date("Y-m-d H:i:s", strtotime($fnEventContainer->GetValue('dstart')) - date('Z'))); $wmEventContainer->SetValue('eventTimeTill', date("Y-m-d H:i:s", strtotime($fnEventContainer->GetValue('dend')) - date('Z'))); // $fnEventContainer->SetValue('folder', "DEFAULT_FOLDER" );//\\" . $wmCalendarName); // $this->_container['reminder_time'] = null; // $fnEventContainer->SetValue('reminder'] = 0; // $fnEventContainer->SetValue('reminder_repeat_count'] = 0; // $fnEventContainer->SetValue('sensitivity'] = 0; $wmEventContainer->SetValue('eventName', $fnEventContainer->GetValue('subject')); if ($fnEventContainer->GetValue('rec_type', 'int') < 0) { // not repeatable event } else { $internalRepeatForm = new RepeatContainer(); $internalRepeatForm->SetValue('repeatOrder', $fnEventContainer->GetValue('rec_interval')); switch ($fnEventContainer->GetValue('rec_type', 'int')) { case 0: // daily $internalRepeatForm->SetValue('repeatPeriod', 0); break; case 1: // weekly $internalRepeatForm->SetValue('repeatPeriod', 1); $this->FillDaysFromMask($internalRepeatForm, $fnEventContainer->GetValue('rec_day_of_week_mask')); break; case 2: // monthly, each 4-th of May $internalRepeatForm->SetValue('repeatPeriod', 2); $internalRepeatForm->SetValue('repeatWeekNumber', $fnEventContainer->GetValue('rec_instance', 'int') - 1); $this->FillDaysFromMask($internalRepeatForm, $fnEventContainer->GetValue('rec_day_of_week_mask')); break; case 3: // monthly, each Second Sunday $internalRepeatForm->SetValue('repeatPeriod', 2); $internalRepeatForm->SetValue('repeatWeekNumber', $fnEventContainer->GetValue('rec_instance', 'int') - 1); $this->FillDaysFromMask($internalRepeatForm, $fnEventContainer->GetValue('rec_day_of_week_mask')); break; case 4: break; case 5: $internalRepeatForm->SetValue('repeatPeriod', 3); $internalRepeatForm->SetValue('repeatWeekNumber', $fnEventContainer->GetValue('rec_instance', 'int') - 1); $this->FillDaysFromMask($internalRepeatForm, $fnEventContainer->GetValue('rec_day_of_week_mask')); break; case 6: $internalRepeatForm->SetValue('repeatPeriod', 3); $internalRepeatForm->SetValue('repeatWeekNumber', $fnEventContainer->GetValue('rec_instance', 'int') - 1); $this->FillDaysFromMask($internalRepeatForm, $fnEventContainer->GetValue('rec_day_of_week_mask')); // $fnEventContainer->SetValue('rec_interval', 12); // $fnEventContainer->SetValue('rec_month_of_year', date( "m", strtotime($wmEventContainer->GetValue('eventTimeFrom')))); break; } // switch if ($fnEventContainer->GetValue('rec_no_end_date', 'int')) { $internalRepeatForm->SetValue('repeatEnd', 0); $this->log("<h1>no end</h1>"); } else { if ($fnEventContainer->GetValue('rec_end_date_pattern') != NULL && strlen($fnEventContainer->GetValue('rec_end_date_pattern')) > 0) { $this->log("<h1>end date</h1>"); $internalRepeatForm->SetValue('repeatEnd', 2); $internalRepeatForm->SetValue('repeatUntil', date("Y-m-d H:i:s", strtotime($fnEventContainer->GetValue('rec_end_date_pattern')))); } else { if ($fnEventContainer->GetValue('rec_occurrences', 'int')) { $this->log("<h1>end occurences</h1>"); $internalRepeatForm->SetValue('repeatEnd', 1); $internalRepeatForm->SetValue('repeatNum', $fnEventContainer->GetValue('rec_occurrences')); } } } $wmEventContainer->SetInternalRepeatForm($internalRepeatForm); } // if( repeatable event ) return $wmEventContainer; }
/** * Delete all appointments for the specified event. * * @param int|EventContainer $event - event container or event id for which appointment will be deleted. * @return bool */ protected function _DeleteAllAppointmentsForEvent($event) { if ($event instanceof EventContainer) { $eventId = $event->GetValue('eventId'); } else { $eventId = $event; } $result = $this->_currentModel->DeleteAllAppointmentsForEvent($eventId); return $result; }