Ejemplo n.º 1
0
 protected function AddItem(ReservationListItem $item)
 {
     $currentDate = $item->StartDate()->ToTimezone($this->timezone);
     $lastDate = $item->EndDate()->ToTimezone($this->timezone);
     if ($currentDate->GreaterThan($lastDate)) {
         Log::Error("Reservation dates corrupted. ReferenceNumber=%s, Start=%s, End=%s", $item->ReferenceNumber(), $item->StartDate(), $item->EndDate());
         return;
     }
     if ($currentDate->DateEquals($lastDate)) {
         $this->AddOnDate($item, $currentDate);
     } else {
         while ($currentDate->LessThan($lastDate) && !$currentDate->DateEquals($lastDate)) {
             $this->AddOnDate($item, $currentDate);
             $currentDate = $currentDate->AddDays(1);
         }
         if (!$lastDate->IsMidnight()) {
             $this->AddOnDate($item, $lastDate);
         }
     }
     $this->_reservations[] = $item;
     $this->_reservationByResource[$item->ResourceId()][] = $item;
 }