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; }