/**
  * Overrides _buildObjArr of LeaveQuota
  * Builds the Leave Summary from the resource
  *
  * @param resource $result
  * @return Array[][] LeaveSummary
  * @access protected
  * @author S.H.Mohanjith
  *
  */
 protected function _buildObjArr($result)
 {
     $leaveObj = new Leave();
     $leaveObj->setEmployeeId($this->getEmployeeId());
     $objArr = null;
     $leveTypeObj = new LeaveType();
     $leaveTypes = $leveTypeObj->fetchLeaveTypes(true);
     $objLeaveType = new LeaveType();
     if (is_array($leaveTypes)) {
         foreach ($leaveTypes as $leaveType) {
             $tmpLeaveSummary = new LeaveSummary();
             $tmpLeaveSummary->setLeaveTypeId($leaveType->getLeaveTypeId());
             $tmpLeaveSummary->setLeaveTypeName($leaveType->getLeaveTypeName());
             $tmpLeaveSummary->setNoOfDaysAllotted(0);
             $taken = $leaveObj->countLeave($tmpLeaveSummary->getLeaveTypeId(), $this->getYear());
             $tmpLeaveSummary->setLeaveTaken($taken);
             $tmpLeaveSummary->setLeaveAvailable(0);
             $tmpLeaveSummary->setYear($this->getYear());
             $tmpLeaveSummary->setLeaveTypeAvailable($leaveType->getLeaveTypeAvailable());
             if ($tmpLeaveSummary->getLeaveTypeAvailable() == $objLeaveType->availableStatusFlag || $tmpLeaveSummary->getLeaveTaken() > 0) {
                 $leaveTypeList[$leaveType->getLeaveTypeId()] = $tmpLeaveSummary;
             }
         }
         $objLeaveType = new LeaveType();
         while ($row = mysql_fetch_row($result)) {
             if (isset($leaveTypeList[$row[1]])) {
                 $tmpLeaveSummary = $leaveTypeList[$row[1]];
                 $leaveTypeAvailable = $tmpLeaveSummary->getLeaveTypeAvailable();
                 $tmpLeaveSummary->setNoOfDaysAllotted($row[3]);
                 $taken = $tmpLeaveSummary->getLeaveTaken();
                 $alloted = $tmpLeaveSummary->getNoOfDaysAllotted();
                 $tmpLeaveSummary->setLeaveAvailable($alloted - $taken);
                 $leaveTypeList[$row[1]] = $tmpLeaveSummary;
             }
         }
         if (isset($leaveTypeList)) {
             $objArr = $leaveTypeList;
             sort($objArr);
         }
     }
     return $objArr;
 }