public function testSearchLeaveEntitlementsWithIdList()
 {
     $parameterHolder = new LeaveEntitlementSearchParameterHolder();
     $entitlementList = TestDataService::loadObjectList('LeaveEntitlement', $this->fixture, 'LeaveEntitlement');
     $parameterHolder->setIdList(array(1, 2));
     $expected = array($entitlementList[0], $entitlementList[1]);
     $results = $this->dao->searchLeaveEntitlements($parameterHolder);
     $this->_compareEntitlements($expected, $results);
 }
 public function deleteLeaveEntitlements($ids)
 {
     $deleted = 0;
     $allDeleted = true;
     $avaliableToDeleteIds = array();
     $leaveEntitlementSearchParameterHolder = new LeaveEntitlementSearchParameterHolder();
     $leaveEntitlementSearchParameterHolder->setIdList($ids);
     $entitlementList = $this->searchLeaveEntitlements($leaveEntitlementSearchParameterHolder);
     foreach ($entitlementList as $entitlement) {
         if ($entitlement->getDaysUsed() > 0) {
             $allDeleted = false;
         } else {
             $avaliableToDeleteIds[] = $entitlement->getId();
         }
     }
     if (count($avaliableToDeleteIds) > 0) {
         $deleted = $this->getLeaveEntitlementDao()->deleteLeaveEntitlements($avaliableToDeleteIds);
     }
     if (!$allDeleted) {
         throw new Exception("Entitlement/s will not be deleted since it's already in use");
     }
     return $deleted;
 }