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();
 }
 private function BuildReminderRemovedEvent(ReminderRemovedEvent $event, ExistingReservationSeries $series)
 {
     return new EventCommand(new RemoveReservationReminderCommand($series->SeriesId(), $event->ReminderType()), $series);
 }
 public function testDeleteSeries()
 {
     $seriesId = 981;
     $eventSeries = new ExistingReservationSeries();
     $eventSeries->WithId($seriesId);
     $builder = new ExistingReservationSeriesBuilder();
     $builder->WithEvent(new SeriesDeletedEvent($eventSeries));
     $series = $builder->BuildTestVersion();
     $series->WithId($seriesId);
     $this->repository->Delete($series);
     $deleteSeriesCommand = new DeleteSeriesCommand($eventSeries->SeriesId(), Date::Now());
     $this->assertEquals(1, count($this->db->_Commands));
     $this->assertTrue(in_array($deleteSeriesCommand, $this->db->_Commands));
 }