Exemplo n.º 1
0
 /** -------------------------
  * Validate the driving order DTO, errors are written to the array.
  * These are the "low hanging fruit" and easy to test. Later on in the
  * code some other special cases may be found and reported in $errors.
  *
  * @param DrivingOrderRegisterDTO $registerDTO
  * @param Passenger $passenger
  * @param array $errors
  * @return array
  */
 private function validateDrivingOrderDto(DrivingOrderRegisterDTO $registerDTO, Passenger $passenger, &$errors)
 {
     if ($registerDTO->isRepeated == true) {
         $errors[] = 'drivingorder.form.error.unknown';
     }
     if (null === $passenger) {
         $errors[] = 'drivingorder.form.error.unknown';
     } else {
         if ($passenger->getisAuthorizedToRide() == false) {
             $errors[] = 'drivingorder.form.error.notAuthorized';
             return $errors;
         }
     }
     if (null === $registerDTO->anchorDate) {
         $errors[] = 'drivingorder.form.error.emptyDate';
     } else {
         $now = new \DateTime();
         $now->setTime(0, 0, 0);
         if ($registerDTO->anchorDate < $now) {
             $errors[] = 'drivingorder.form.error.anchorDate';
         }
     }
     if (empty($registerDTO->orderTime->outwardTime) and empty($registerDTO->orderTime->returnTime)) {
         $errors[] = 'drivingorder.form.error.empty';
     }
     if ($registerDTO->additionalTime < 0) {
         $errors[] = 'drivingorder.form.error.extraMinutes';
     }
     if ($registerDTO->compagnion < 0) {
         $errors[] = 'drivingorder.form.error.companions';
     }
 }
Exemplo n.º 2
0
 /**
  * @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;
 }
 /** -------------------------
  * Create a notice (one or more warnings) for a passenger
  *
  * @param Passenger $passenger
  * @return mixed
  */
 protected function constructNotice(Passenger $passenger)
 {
     $tr = $this->container->get('translator');
     $notice = $passenger->getNotice();
     $notAuthorized = $passenger->getisAuthorizedToRide() ? null : $tr->trans('drivingorder.form.error.notAuthorized');
     $linefeed = (isset($notice) and isset($notAuthorized)) ? "\n" : null;
     return $notAuthorized . $linefeed . $notice;
 }