/** * @param Passenger $passenger * @param PassengerRegisterDTO $passengerDTO * @return Passenger */ public function registerDTOToPassenger(Passenger $passenger, PassengerRegisterDTO $passengerDTO) { $address = $this->addressAssembler->addressLookaheadDTOtoAddress($passengerDTO->lookaheadaddress); $address->setBuilding($passengerDTO->building); $passenger->updatePassengerData($passengerDTO->gender, $passengerDTO->firstname, $passengerDTO->lastname, $passengerDTO->telephone, $address, $passengerDTO->title, $passengerDTO->isInWheelChair, $passengerDTO->hasMonthlyBilling, $passengerDTO->email, $passengerDTO->entryDate, $passengerDTO->birthday, $passengerDTO->extraMinutes, $passengerDTO->details, $passengerDTO->notice, $passengerDTO->isAuthorizedToRide); $passenger->setHandicaps($passengerDTO->handicaps); $passenger->setInsurances($passengerDTO->insurances); $passenger->setContradictVehicleCategories($passengerDTO->contradictVehicleCategories); $passenger->setPersonCategories($passengerDTO->personCategories); if (!empty($passengerDTO->custodian)) { $passenger->assignCustodian($passengerDTO->custodian); } else { $passenger->removeCustodian(); } return $passenger; }