public override void CalculateRiskScore(Customer customer, LineInsurance lineInsurance) { if (customer.Vehicle?.Year >= (_dateTimeNow.Year - 5)) { lineInsurance.AddScore(1); } }
public override void CalculateRiskScore(Customer customer, LineInsurance lineInsurance) { if (customer.Vehicle == null) { lineInsurance.Ineligible(); } }
public override void CalculateRiskScore(Customer customer, LineInsurance lineInsurance) { if (customer.Income > 200000) { lineInsurance.DeductScore(1); } }
public override void CalculateRiskScore(Customer customer, LineInsurance lineInsurance) { if (customer.MaritalStatus == MaritalStatus.Married) { lineInsurance.DeductScore(1); } }
public override void CalculateRiskScore(Customer customer, LineInsurance lineInsurance) { if (customer.Dependents > 0) { lineInsurance.AddScore(1); } }
public override void CalculateRiskScore(Customer customer, LineInsurance lineInsurance) { if (customer.House?.OwnershipStatus == OwnershipStatus.Mortgaged) { lineInsurance.AddScore(1); } }
public override void CalculateRiskScore(Customer customer, LineInsurance lineInsurance) { if (customer.Age > 60) { lineInsurance.Ineligible(); } }
public ScoreEngine For(Customer customer, LineInsurance lineInsurance) { _rules = new List <Rule>(); _customer = customer; _lineInsurance = lineInsurance; return(this); }
public override void CalculateRiskScore(Customer customer, LineInsurance lineInsurance) { if (customer.Age < 30) { lineInsurance.DeductScore(2); } else if (customer.Age >= 30 && customer.Age <= 40) { lineInsurance.DeductScore(1); } }
private LineInsurance CreateAutoInsurance(Customer customer) { var autoLineInsurance = new LineInsurance(LineInsuranceName.Auto, customer.RiskQuestions); _scoreEngine.For(customer, autoLineInsurance) .Add(new VehicleRule()) .Add(new AgeRule()) .Add(new HighIncomeRule()) .Add(new AgeVehicleRule(DateTime.Now)) .Calculate(); return(autoLineInsurance); }
private LineInsurance CreateHomeInsurance(Customer customer) { var homeLineInsurance = new LineInsurance(LineInsuranceName.Home, customer.RiskQuestions); _scoreEngine.For(customer, homeLineInsurance) .Add(new HouseRule()) .Add(new AgeRule()) .Add(new HighIncomeRule()) .Add(new MortgagedHouseRule()) .Calculate(); return(homeLineInsurance); }
private LineInsurance CreateLifeInsurance(Customer customer) { var lifeLineInsurance = new LineInsurance(LineInsuranceName.Life, customer.RiskQuestions); _scoreEngine.For(customer, lifeLineInsurance) .Add(new HighAgeRule()) .Add(new AgeRule()) .Add(new HighIncomeRule()) .Add(new DependentsRule()) .Add(new LifeLineInsuranceMarriedRule()) .Calculate(); return(lifeLineInsurance); }
private LineInsurance CreateDisabilityInsurance(Customer customer) { var disabilityLineInsurance = new LineInsurance(LineInsuranceName.Disability, customer.RiskQuestions); _scoreEngine.For(customer, disabilityLineInsurance) .Add(new IncomeRule()) .Add(new HighAgeRule()) .Add(new AgeRule()) .Add(new HighIncomeRule()) .Add(new MortgagedHouseRule()) .Add(new DependentsRule()) .Add(new DisabilityLineInsuranceMarriedRule()) .Calculate(); return(disabilityLineInsurance); }
public abstract void CalculateRiskScore(Customer customer, LineInsurance lineInsurance);