/** * Determine if $reference satisfies this Criteria. * * @param RentRecoveryPlusReference $reference * @return bool */ public function isSatisfiedBy(RentRecoveryPlusReference $reference) { if (ApplicationStatuses::COMPLETE != $reference->getParent()->getStatus()) { $this->setNotSatisfiedText(sprintf('Status criteria is not met. Reference %s status is %d', $reference->getParent()->getReferenceNumber(), $reference->getParent()->getStatus()))->setIsSatisfied(false); return false; } return true; }
/** * Determine if $reference satisfies this Criteria. * * @param RentRecoveryPlusReference $reference * @return bool */ public function isSatisfiedBy(RentRecoveryPlusReference $reference) { if (EmploymentStatuses::EMPLOYED != $reference->getParent()->getEmploymentStatus()) { $this->setNotSatisfiedText(sprintf('Employment criteria is not met. Reference %s employment status is %d', $reference->getParent()->getReferenceNumber(), $reference->getParent()->getEmploymentStatus()))->setIsSatisfied(false); return false; } return true; }
/** * Determine if $reference satisfies this Criteria. * * @param RentRecoveryPlusReference $reference * @return bool */ public function isSatisfiedBy(RentRecoveryPlusReference $reference) { if ($reference->getParent()->getHasCCJ()) { $this->setNotSatisfiedText(sprintf('Adverse credit criteria is not met. Reference %s has adverse credit', $reference->getParent()->getReferenceNumber()))->setIsSatisfied(false); return false; } return true; }
/** * Get a guarantor ReferencingApplication from IRIS, attach it to a RentRecoveryPlusReference and return it. * * @param RentRecoveryPlusReference $tenant * @return RentRecoveryPlusReference */ private function createGuarantor(RentRecoveryPlusReference $tenant) { $guarantorCollection = $this->clientRegistry->getAgentContext()->getReferencingApplicationClient()->getReferencingApplicationGuarantors(array('referencingApplicationUuId' => $tenant->getParent()->getReferencingApplicationUuid())); // todo: Grab the first one for now - business will likely want to consider all Guarantors however. $guarantor = current($guarantorCollection->getAll()); $this->rrpGuarantor = new RentRecoveryPlusReference(); $this->rrpGuarantor->setParent($guarantor)->setDecisionDetails($this->decisionDetailsRetriever->getDecisionDetails($guarantor)); return $this->rrpGuarantor; }
/** * Determine if $reference satisfies this Criteria. * * @param RentRecoveryPlusReference $reference * @return bool */ public function isSatisfiedBy(RentRecoveryPlusReference $reference) { $creditScore = $reference->getDecisionDetails()->getCreditReference()->getScore(); if (CreditScoreCriteriaLimits::MINIMUM_INSIGHT_CREDIT_SCORE > $creditScore) { $this->setNotSatisfiedText(sprintf('Credit score criteria is not met. Reference %s credit score is %d', $reference->getParent()->getReferenceNumber(), $creditScore))->setIsSatisfied(false); return false; } return true; }
/** * Determine if $reference satisfies this Criteria. * * @param RentRecoveryPlusReference $reference * @return bool */ public function isSatisfiedBy(RentRecoveryPlusReference $reference) { $recommendationStatus = $reference->getDecisionDetails()->getRecommendation()->getStatus(); if (RecommendationStatuses::ACCEPTABLE_WITH_GUARANTOR != $recommendationStatus && RecommendationStatuses::ACCEPTABLE_WITH_GUARANTOR_WITH_CONDITION != $recommendationStatus) { $this->setNotSatisfiedText(sprintf('Reference %s is not acceptable with a suitable guarantor', $reference->getParent()->getReferenceNumber()))->setIsSatisfied(false); return false; } return true; }
/** * Determine which strategy to use and create the appropriate criteria group through its factory. * * @param RentRecoveryPlusReference $reference * @return AbstractCriteria */ protected function createCriteriaStrategy(RentRecoveryPlusReference $reference) { if ($reference->getParent()->getProductId() == ProductIds::INSIGHT) { $this->factory = new InsightCriteriaFactory(); } else { $this->factory = new DefaultCriteriaFactory($this->rrpGuarantorReferenceCreator); } return $this->factory->create($reference); }