/**
  * @param ExistingReservationSeries $series
  * @return mixed|null|string
  */
 private function CheckCapacityAndReturnAnyError($series)
 {
     foreach ($series->AllResources() as $resource) {
         if (!$resource->HasMaxParticipants()) {
             continue;
         }
         /** @var $instance Reservation */
         foreach ($series->Instances() as $instance) {
             $numberOfParticipants = count($instance->Participants());
             if ($numberOfParticipants > $resource->GetMaxParticipants()) {
                 return Resources::GetInstance()->GetString('MaxParticipantsError', array($resource->GetName(), $resource->GetMaxParticipants()));
             }
         }
     }
     return null;
 }
 public function __construct(ExistingReservationSeries $series)
 {
     foreach ($series->Accessories() as $accessory) {
         $this->Accessories[] = new ReservationAccessoryView($accessory->AccessoryId, $accessory->QuantityReserved, $accessory->Name, null);
     }
     foreach ($series->AdditionalResources() as $resource) {
         $this->AdditionalResourceIds[] = $resource->GetId();
     }
     foreach ($series->AddedAttachments() as $attachment) {
         $this->Attachments[] = new ReservationAttachmentView($attachment->FileId(), $series->SeriesId(), $attachment->FileName());
     }
     foreach ($series->AttributeValues() as $av) {
         $this->Attributes[] = $av;
     }
     $this->Description = $series->Description();
     $this->EndDate = $series->CurrentInstance()->EndDate();
     $this->OwnerId = $series->UserId();
     $this->ReferenceNumber = $series->CurrentInstance()->ReferenceNumber();
     $this->ReservationId = $series->CurrentInstance()->ReservationId();
     $this->ResourceId = $series->ResourceId();
     foreach ($series->AllResources() as $resource) {
         $this->Resources[] = new ReservationResourceView($resource->GetId(), $resource->GetName(), $resource->GetAdminGroupId(), $resource->GetScheduleId(), $resource->GetScheduleAdminGroupId(), $resource->GetStatusId());
     }
     $this->ScheduleId = $series->ScheduleId();
     $this->SeriesId = $series->SeriesId();
     $this->StartDate = $series->CurrentInstance()->StartDate();
     $this->StatusId = $series->StatusId();
 }