function getProjectedAbsencePolicyBalance($absence_policy_id, $user_id, $epoch, $amount, $previous_amount = 0)
 {
     if ($absence_policy_id == '') {
         return $this->returnHandler(FALSE);
     }
     if ($user_id == '') {
         return $this->returnHandler(FALSE);
     }
     $epoch = TTDate::parseDateTime($epoch);
     $aplf = TTnew('AbsencePolicyListFactory');
     $aplf->getByIdAndCompanyId($absence_policy_id, $this->getCurrentCompanyObject()->getId());
     if ($aplf->getRecordCount() > 0) {
         $ap_obj = $aplf->getCurrent();
         if ($ap_obj->getAccrualPolicyID() != '') {
             $acplf = new AccrualPolicyListFactory();
             $acplf->getById($ap_obj->getAccrualPolicyID());
             if ($acplf->getRecordCount() > 0) {
                 $acp_obj = $acplf->getCurrent();
                 $ulf = TTnew('UserListFactory');
                 $ulf->getByIDAndCompanyID($user_id, $this->getCurrentCompanyObject()->getId());
                 if ($ulf->getRecordCount() == 1) {
                     $u_obj = $ulf->getCurrent();
                     return $this->returnHandler($acp_obj->getAccrualBalanceWithProjection($u_obj, $epoch, $amount, $previous_amount));
                 }
             }
         }
     }
     return $this->returnHandler(FALSE);
 }
 function getAbsencePolicyData($absence_policy_id)
 {
     global $current_company;
     if (!is_object($current_company)) {
         return FALSE;
     }
     $aplf = new AbsencePolicyListFactory();
     $aplf->getByIdAndCompanyId($absence_policy_id, $current_company->getId());
     if ($aplf->getRecordCount() > 0) {
         $ap_obj = $aplf->getCurrent();
         $ap_data = $ap_obj->getObjectAsArray();
         $aplf = new AccrualPolicyListFactory();
         $aplf->getByIdAndCompanyId($ap_obj->getAccrualPolicyID(), $current_company->getId());
         if ($aplf->getRecordCount() > 0) {
             $ap_data['accrual_policy_name'] = $aplf->getCurrent()->getName();
         } else {
             $ap_data['accrual_policy_name'] = 'None';
         }
         return $ap_data;
     }
     return FALSE;
 }
 function getAccrualPolicyObject()
 {
     if (is_object($this->accrual_policy_obj)) {
         return $this->accrual_policy_obj;
     } else {
         $aplf = new AccrualPolicyListFactory();
         $aplf->getById($this->getAccrualPolicyID());
         if ($aplf->getRecordCount() > 0) {
             $this->accrual_policy_obj = $aplf->getCurrent();
             return $this->accrual_policy_obj;
         }
         return FALSE;
     }
 }