/** * @param \DateTime $anchorDate * @param null $withHolidays * @param null $companion * @param \DateTime $endingDate * @param null $memo * @param null $additionalTime * @return RepeatedDrivingOrderPlan */ public static function registerRepeatedDrivingOrderPlan(\DateTime $anchorDate, $withHolidays = null, $companion = null, \DateTime $endingDate = null, $memo = null, $additionalTime = null) { $correctedWithHolidays = null !== $withHolidays ? $withHolidays : false; $correctedCompanion = null !== $companion ? $companion : 0; $correctedAdditionalTime = null !== $additionalTime ? $additionalTime : 0; $correctedEndingDate = $endingDate !== null ? $endingDate : DateTimeService::getMaxDateTime(); $correctedMemo = $memo !== null ? $memo : ''; $rdPlan = new RepeatedDrivingOrderPlan(); $rdPlan->setAnchorDate($anchorDate); $rdPlan->setEndingDate($correctedEndingDate); $rdPlan->setWithHolidays($correctedWithHolidays); $rdPlan->setCompanion($correctedCompanion); $rdPlan->setMemo($correctedMemo); $rdPlan->setAdditionalTime($correctedAdditionalTime); return $rdPlan; }