protected function getLeaveDurationObject($parameters) { $durationObj = new LeaveDuration(); $type = $parameters['duration']; $durationObj->setType($type); if ($type == LeaveDuration::HALF_DAY) { $durationObj->setAmPm($parameters['ampm']); } else { if ($type == LeaveDuration::SPECIFY_TIME) { $durationObj->setFromTime($parameters['time']['from']); $durationObj->setToTime($parameters['time']['to']); } } return $durationObj; }
protected function getApplicableLeaveDuration($leaveAssignmentData, $firstDay, $lastDay) { // Default to full day $duration = new LeaveDuration(); $duration->setType(LeaveDuration::FULL_DAY); if ($leaveAssignmentData->isMultiDayLeave()) { $partialDayOption = $leaveAssignmentData->getMultiDayPartialOption(); if ($partialDayOption == 'all' || $firstDay && ($partialDayOption == 'start' || $partialDayOption == 'start_end')) { $duration = $leaveAssignmentData->getFirstMultiDayDuration(); } else { if ($lastDay && ($partialDayOption == 'end' || $partialDayOption == 'start_end')) { $duration = $leaveAssignmentData->getSecondMultiDayDuration(); } } } else { // Single day leave: $duration = $leaveAssignmentData->getSingleDayDuration(); } return $duration; }