/** * Assign vehicle to driving pool(s) and mark resource as occupied. * Prerequisite: the vehicle has been tested to be available. * * @param Vehicle $vehicle * @param DispositionResourcesDTO $dto */ protected function assignVehicleToDrivingPools(Vehicle $vehicle, DispositionResourcesDTO $dto) { foreach ($dto->getShifts() as $idx => $shift) { $this->resources[$shift->getId()][$vehicle->getId()] = true; $drivingPool = $dto->getDrivingPools()[$idx]; $drivingPool->assignVehicle($vehicle); } }