/** * @param RepeatedDrivingOrderPlan $orderPlan * @return RepeatedDrivingOrderEmbeddedListDTO */ public function orderPlanToEmbeddedListDTOs(RepeatedDrivingOrderPlan $orderPlan) { $dto = new RepeatedDrivingOrderEmbeddedListDTO(); $dto->id = $orderPlan->getId(); $dto->isDeleted = !$orderPlan->isActive(); $dto->anchorDate = $orderPlan->getAnchorDate()->format('d.m.Y'); $dto->endDate = $orderPlan->getEndingDate() != DateTimeService::getMaxDateTime() ? $orderPlan->getEndingDate()->format('d.m.Y') : 'repeateddrivingorder.validtillrecalled'; /** @var Passenger $passenger */ $passenger = $orderPlan->getPassenger(); $dto->passengerId = $passenger->getId(); $repeatedDrivingOrders = $orderPlan->getRepeatedDrivingOrders(); /** @var RepeatedDrivingOrder $repeatedDrivingOrder */ foreach ($repeatedDrivingOrders as $repeatedDrivingOrder) { if ($repeatedDrivingOrder->getDirection() == RepeatedDrivingOrder::OUTWARD_DIRECTION) { $dto->weekDay = $this->convertWeekDay($repeatedDrivingOrder->getWeekday()); $dto->outwardTime = $this->dateTimeService->convertToLocalTimeString($repeatedDrivingOrder->getPickUpTime()); } else { $dto->returnTime = $this->dateTimeService->convertToLocalTimeString($repeatedDrivingOrder->getPickUpTime()); } } return $dto; }