public CreditCardApplicationDecision Evaluate(CreditCardApplication application) { if (_fraudLookup != null && _fraudLookup.IsFraudRisk(application)) { return(CreditCardApplicationDecision.ReferredToHumanFraudRisk); } if (application.GrossAnnualIncome >= HighIncomeThreshhold) { return(CreditCardApplicationDecision.AutoAccepted); } if (_validator.ServiceInformation.License.LicenseKey == "EXPIRED") { return(CreditCardApplicationDecision.ReferredToHuman); } _validator.ValidationMode = application.Age >= 30 ? ValidationMode.Detailed : ValidationMode.Quick; bool isValidFrequentFlyerNumber; try { isValidFrequentFlyerNumber = _validator.IsValid(application.FrequentFlyNumber); } catch (Exception) { // log return(CreditCardApplicationDecision.ReferredToHuman); } if (!isValidFrequentFlyerNumber) { return(CreditCardApplicationDecision.ReferredToHuman); } if (application.Age <= AutoReferralMaxAge) { return(CreditCardApplicationDecision.ReferredToHuman); } if (application.GrossAnnualIncome < LowIncomethresshold) { return(CreditCardApplicationDecision.AutoDeclined); } return(CreditCardApplicationDecision.ReferredToHuman); }
public CreditCardApplicationDecision Evaluate(CreditCardApplication application) { if (application.GrossAnnualIncome >= HighIncomeThreshold) { return(CreditCardApplicationDecision.AutoAccepted); } if (application.Age <= AutoReferralMaxAge) { return(CreditCardApplicationDecision.ReferredToHuman); } if (application.GrossAnnualIncome < LowIncomeThreshold) { return(CreditCardApplicationDecision.AutoDeclined); } // if anything else then return this return(CreditCardApplicationDecision.ReferredToHuman); }
public CreditCardApplicationDecision EvaluateUsingOut(CreditCardApplication application) { if (application.GrossAnnualIncome >= HighIncomeThrehhold) { return(CreditCardApplicationDecision.AutoAccepted); } _validator.IsValid(application.FrequentFlyerNumber, out var isValidFrequentFlyerNumber); if (!isValidFrequentFlyerNumber) { return(CreditCardApplicationDecision.ReferredToHuman); } if (application.Age <= AutoReferralMaxAge) { return(CreditCardApplicationDecision.ReferredToHuman); } return(CreditCardApplicationDecision.AutoDeclined); }
//public virtual bool IsFraudRisk(CreditCardApplication application) //{ // if (application.LastName == "Smith") // { // return true; // } // return false; //} public bool IsFraudRisk(CreditCardApplication application) { return(CheckApplication(application)); }