Beispiel #1
0
 /**
  * Get the last day from date range
  *
  * @param \Opit\OpitHrm\LeaveBundle\Entity\Leave $leave
  * @param \Opit\OpitHrm\LeaveBundle\Model\LeaveRequestService $leaveRequestService
  * @param integer $leftToAvail
  * @return DateTime
  */
 protected function calculateLeaveEndDate(Leave $leave, LeaveRequestService $leaveRequestService, $leftToAvail)
 {
     $leaveStartDate = $leave->getStartDate();
     $leaveEndDate = clone $leaveStartDate;
     $countLeaveDays = $leaveRequestService->countLeaveDays($leaveStartDate, $leaveEndDate);
     while ($countLeaveDays !== $leftToAvail) {
         $leaveEndDate = date_add($leaveEndDate, date_interval_create_from_date_string('1 day'));
         $countLeaveDays = $leaveRequestService->countLeaveDays($leaveStartDate, $leaveEndDate);
     }
     return $leaveEndDate;
 }