/** * @param BlackoutSeries $blackoutSeries * @return array|BlackoutItemView[] */ private function GetConflictingBlackouts($blackoutSeries) { $conflictingBlackouts = array(); $blackouts = $blackoutSeries->AllBlackouts(); foreach ($blackouts as $blackout) { $existingBlackouts = $this->reservationViewRepository->GetBlackoutsWithin($blackout->Date()); foreach ($existingBlackouts as $existingBlackout) { if ($existingBlackout->SeriesId == $blackoutSeries->Id()) { continue; } if ($blackoutSeries->ContainsResource($existingBlackout->ResourceId) && $blackout->Date()->Overlaps($existingBlackout->Date)) { $conflictingBlackouts[] = $existingBlackout; } } } return $conflictingBlackouts; }