/**
  * Create repeating driving orders from the DTO,
  * if applicable set validation errors.
  *
  * @param DrivingOrderRegisterDTO $registerDTO
  * @param array $errors
  * @return array|ArrayCollection
  */
 public function registerDTOtoRepeatedDrivingOrders(DrivingOrderRegisterDTO $registerDTO, &$errors)
 {
     $repeatedDrivingOrders = new ArrayCollection();
     if (!empty($registerDTO->repeatedOrderTime->outwardTime)) {
         $outwardTime = $registerDTO->repeatedOrderTime->outwardTime;
         $repeatedDrivingOrders[] = RepeatedDrivingOrder::registerRepeatedDrivingOrder($registerDTO->weekday, $outwardTime, RepeatedDrivingOrder::OUTWARD_DIRECTION);
     }
     if (!empty($registerDTO->repeatedOrderTime->returnTime)) {
         $returnTime = $registerDTO->repeatedOrderTime->returnTime;
         $repeatedDrivingOrders[] = RepeatedDrivingOrder::registerRepeatedDrivingOrder($registerDTO->weekday, $returnTime, RepeatedDrivingOrder::RETURN_DIRECTION);
     }
     if (count($repeatedDrivingOrders) < 1) {
         $errors[] = 'drivingorder.form.error.empty';
     } elseif (isset($outwardTime) and isset($returnTime)) {
         if ($outwardTime >= $returnTime) {
             $errors[] = 'drivingorder.form.error.ascending';
         }
     }
     $now = new \DateTime();
     $now->setTime(0, 0, 0);
     if ($registerDTO->anchorDate < $now) {
         $errors[] = 'drivingorder.form.error.anchorDate';
     }
     if ($registerDTO->additionalTime < 0) {
         $errors[] = 'drivingorder.form.error.extraMinutes';
     }
     if ($registerDTO->compagnion < 0) {
         $errors[] = 'drivingorder.form.error.companions';
     }
     return $repeatedDrivingOrders;
 }