/** * @param VehicleDepot $vehicleDepot * @return VehicleDepotRegisterDTO */ public function toVehicleDepotRegisterDTO(VehicleDepot $vehicleDepot) { $vehicleDepotDTO = new VehicleDepotRegisterDTO(); $vehicleDepotDTO->id = $vehicleDepot->getId(); $vehicleDepotDTO->name = $vehicleDepot->getName(); $vehicleDepotDTO->memo = $vehicleDepot->getMemo(); $vehicleDepotDTO->address = $this->addressAssembler->addressToAddressLookaheadDTO($vehicleDepot->getAddress()); return $vehicleDepotDTO; }
/** * @param POI $poi * @return POIRegisterDTO */ public function poiToPOIRegisterDTO(POI $poi) { $poiDTO = new POIRegisterDTO(); $poiDTO->id = $poi->getId(); $poiDTO->isActive = $poi->getIsActive(); $poiDTO->name = $poi->getName(); $poiDTO->department = $poi->getDepartment(); $poiDTO->telephone = $poi->getTelephone(); $poiDTO->comment = $poi->getComment(); $poiDTO->details = $poi->getDetails(); $poiDTO->keywords = $poi->getKeywords(); $poiDTO->address = $this->addressAssembler->addressToAddressLookaheadDTO($poi->getAddress()); return $poiDTO; }
/** * @param Passenger $passenger * @return PassengerRegisterDTO */ public function passengerToPassengerRegisterDTO(Passenger $passenger) { $passengerDTO = new PassengerRegisterDTO(); $passengerDTO->person_id = $passenger->getId(); $passengerDTO->gender = $passenger->getGender(); $passengerDTO->title = $passenger->getTitle(); $passengerDTO->firstname = $passenger->getFirstname(); $passengerDTO->lastname = $passenger->getLastname(); $passengerDTO->telephone = $passenger->getTelephone(); $passengerDTO->email = $passenger->getEmail(); $passengerDTO->entryDate = $passenger->getEntryDate(); $passengerDTO->birthday = $passenger->getBirthday(); $passengerDTO->extraMinutes = $passenger->getExtraMinutes(); $passengerDTO->details = $passenger->getDetails(); $passengerDTO->contradictVehicleCategories = $passenger->getContradictVehicleCategories(); $passengerDTO->personCategories = $passenger->getPersonCategories(); $passengerDTO->isInWheelChair = $passenger->getIsInWheelChair(); $passengerDTO->hasMonthlyBilling = $passenger->getHasMonthlyBilling(); $passengerDTO->notice = $passenger->getNotice(); $passengerDTO->handicaps = $passenger->getHandicaps(); $passengerDTO->insurances = $passenger->getInsurances(); $passengerDTO->isAuthorizedToRide = $passenger->getisAuthorizedToRide(); $passengerDTO->building = $passenger->getAddress()->getBuilding(); $passengerDTO->lookaheadaddress = $this->addressAssembler->addressToAddressLookaheadDTO($passenger->getAddress()); $passengerDTO->custodian = $passenger->getCustodian(); return $passengerDTO; }
/** * @param RepeatedDrivingOrderPlan $repeatedDrivingOrderPlan * @return DrivingOrderRegisterDTO */ public function drivingOrderPlanToRegisterDTO(RepeatedDrivingOrderPlan $repeatedDrivingOrderPlan) { $registerDTO = new DrivingOrderRegisterDTO(); /* read repeated driving order plan */ $registerDTO->id = $repeatedDrivingOrderPlan->getId(); $registerDTO->anchorDate = $repeatedDrivingOrderPlan->getAnchorDate(); $registerDTO->lookaheadaddressFrom = $this->addressAssembler->addressToAddressLookaheadDTO($repeatedDrivingOrderPlan->getRoute()->getStartAddress()); $registerDTO->lookaheadaddressTo = $this->addressAssembler->addressToAddressLookaheadDTO($repeatedDrivingOrderPlan->getRoute()->getTargetAddress()); $registerDTO->zoneName = $repeatedDrivingOrderPlan->getZone()->getName(); $registerDTO->isRepeated = true; $registerDTO->withHolidays = $repeatedDrivingOrderPlan->getWithHolidays(); $registerDTO->compagnion = $repeatedDrivingOrderPlan->getCompanion(); $registerDTO->memo = $repeatedDrivingOrderPlan->getMemo(); $registerDTO->additionalTime = $repeatedDrivingOrderPlan->getAdditionalTime(); $registerDTO->endDate = $repeatedDrivingOrderPlan->getEndingDate() != DateTimeService::getMaxDateTime() ? $repeatedDrivingOrderPlan->getEndingDate() : null; /* read repeated driving orders */ $outwardTime = null; $returnTime = null; $repeatedOrders = $repeatedDrivingOrderPlan->getRepeatedDrivingOrdersAsArray(); /** @var RepeatedDrivingOrder $repeatedOrder*/ foreach ($repeatedOrders as $repeatedOrder) { /* normally there should be one or two rows in this array */ $registerDTO->weekday = $repeatedOrder->getWeekday(); $direction = $repeatedOrder->getDirection(); if ($direction === RepeatedDrivingOrder::OUTWARD_DIRECTION) { $outwardTime = $repeatedOrder->getPickUpTime(); } elseif ($direction === RepeatedDrivingOrder::RETURN_DIRECTION) { $returnTime = $repeatedOrder->getPickUpTime(); } $registerDTO->repeatedOrderTime = $this->createOrUpdateOrderTimeDTO($outwardTime, $returnTime, $registerDTO->orderTime); } return $registerDTO; }
/** * @param Custodian $custodian * @return CustodianRegisterDTO */ public function custodianToCustodianRegisterDTO(Custodian $custodian) { $custodianDTO = new CustodianRegisterDTO(); $custodianDTO->person_id = $custodian->getId(); $custodianDTO->gender = $custodian->getGender(); $custodianDTO->title = $custodian->getTitle(); $custodianDTO->firstname = $custodian->getFirstname(); $custodianDTO->lastname = $custodian->getLastname(); $custodianDTO->telephone = $custodian->getTelephone(); $custodianDTO->email = $custodian->getEmail(); $custodianDTO->entryDate = $custodian->getEntryDate(); $custodianDTO->birthday = $custodian->getBirthday(); $custodianDTO->extraMinutes = $custodian->getExtraMinutes(); $custodianDTO->details = $custodian->getDetails(); $custodianDTO->isAuthorizedToRide = $custodian->getisAuthorizedToRide(); $custodianDTO->building = $custodian->getAddress()->getBuilding(); $custodianDTO->lookaheadaddress = $this->addressAssembler->addressToAddressLookaheadDTO($custodian->getAddress()); return $custodianDTO; }
/** * @param Driver $driver * @return DriverRegisterDTO */ public function driverToDriverRegisterDTO(Driver $driver) { $driverDTO = new DriverRegisterDTO(); $driverDTO->person_id = $driver->getId(); $driverDTO->gender = $driver->getGender(); $driverDTO->title = $driver->getTitle(); $driverDTO->firstname = $driver->getFirstname(); $driverDTO->lastname = $driver->getLastname(); $driverDTO->telephone = $driver->getTelephone(); $driverDTO->fax = $driver->getFax(); $driverDTO->email = $driver->getEmail(); $driverDTO->entryDate = $driver->getEntryDate(); $driverDTO->birthday = $driver->getBirthday(); $driverDTO->extraMinutes = $driver->getExtraMinutes(); $driverDTO->details = $driver->getDetails(); $driverDTO->licenceNumber = $driver->getLicenceNumber(); $driverDTO->wheelChairAttendance = $driver->getWheelChairAttendance(); $driverDTO->operationWish = $driver->getOperationWish(); $driverDTO->driverCategory = $driver->getDriverCategory(); $driverDTO->lookaheadaddress = $this->addressAssembler->addressToAddressLookaheadDTO($driver->getAddress()); $driverDTO->contradictVehicleCategories = $driver->getContradictVehicleCategories(); return $driverDTO; }
/** ------------------------- * Register one driving order (one way: outbound or return) * * @param DrivingOrderRegisterDTO $registerDTO * @param Passenger $passenger * @param $direction * @param mixed $status * @param array $errors * @return DrivingOrder|null * @throws Exception */ protected function registerDtoToDrivingOrder(DrivingOrderRegisterDTO $registerDTO, Passenger $passenger, $direction, $status, &$errors) { /** @var Address $fromAddress */ $fromAddress = $this->addressAssembler->addressLookaheadDTOtoAddress($registerDTO->lookaheadaddressFrom); /** @var Address $toAddress */ $toAddress = $this->addressAssembler->addressLookaheadDTOtoAddress($registerDTO->lookaheadaddressTo); if ($fromAddress->getId() === $toAddress->getId() or null === $fromAddress or null === $toAddress) { $errors[] = 'drivingorder.form.error.illegalRoute'; return null; } /** @var Zone $zone */ $zone = $this->zonePlanManagement->getZoneWithHighestPriorityForCities(array($fromAddress->getCity(), $toAddress->getCity())); if (null == $zone) { $errors[] = 'drivingorder.form.error.zone'; return null; } /** @var Route $route */ $route = null; $pickupTime = null; try { if ($direction === self::OUTWARD_DIRECTION) { $pickupTime = $registerDTO->orderTime->outwardTime; $route = $this->routeManagement->getRouteFromAddresses($fromAddress, $toAddress); } elseif ($direction === self::RETURN_DIRECTION) { $pickupTime = $registerDTO->orderTime->returnTime; $route = $this->routeManagement->getRouteFromAddresses($toAddress, $fromAddress); } else { $errors[] = 'drivingorder.form.error.unknown'; } } catch (Exception $e) { $errors[] = 'drivingorder.form.error.routingError'; return null; } if (null === $route or null === $pickupTime) { $errors[] = 'drivingorder.form.error.routingError'; $this->logger->error('Driving order: routing error (' . "Direction => {$direction}, " . "From => " . $fromAddress->getStreet() . ' ' . $fromAddress->getCity() . ', ' . "To => " . $toAddress->getStreet() . ', ' . $toAddress->getCity() . ')'); return null; } else { $drivingOrder = DrivingOrder::registerDrivingOrder($passenger, $registerDTO->anchorDate, $pickupTime, $registerDTO->compagnion, $registerDTO->memo, $status, false, $registerDTO->additionalTime); $drivingOrder->assignRoute($route); $drivingOrder->assignZone($zone); $passenger->assignDrivingOrder($drivingOrder); return $drivingOrder; } return null; }