コード例 #1
0
 /**
  * @param IRepeatOptions $repeatOptions
  */
 public function Repeats(IRepeatOptions $repeatOptions)
 {
     if ($this->seriesUpdateStrategy->CanChangeRepeatTo($this, $repeatOptions)) {
         Log::Debug('Updating recurrence for series %s', $this->SeriesId());
         $this->_repeatOptions = $repeatOptions;
         foreach ($this->instances as $instance) {
             // delete all reservation instances which will be replaced
             if ($this->seriesUpdateStrategy->ShouldInstanceBeRemoved($this, $instance)) {
                 $this->RemoveInstance($instance);
             }
         }
         // create all future instances
         parent::Repeats($repeatOptions);
     }
 }
コード例 #2
0
ファイル: ReservationSeries.php プロジェクト: JoseTfg/Booked
 /**
  * @param int $userId
  * @param BookableResource $resource
  * @param string $title
  * @param string $description
  * @param DateRange $reservationDate
  * @param IRepeatOptions $repeatOptions
  * @param UserSession $bookedBy
  * @return ReservationSeries
  */
 public static function Create($userId, BookableResource $resource, $title, $description, $reservationDate, $repeatOptions, UserSession $bookedBy)
 {
     $series = new ReservationSeries();
     $series->_userId = $userId;
     $series->_resource = $resource;
     $series->_title = $title;
     $series->_description = $description;
     $series->_bookedBy = $bookedBy;
     $series->UpdateDuration($reservationDate);
     $series->Repeats($repeatOptions);
     return $series;
 }