public override void CalculateRiskScore(Customer customer, LineInsurance lineInsurance)
 {
     if (customer.Vehicle?.Year >= (_dateTimeNow.Year - 5))
     {
         lineInsurance.AddScore(1);
     }
 }
示例#2
0
 public override void CalculateRiskScore(Customer customer, LineInsurance lineInsurance)
 {
     if (customer.Vehicle == null)
     {
         lineInsurance.Ineligible();
     }
 }
示例#3
0
 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);
     }
 }
示例#7
0
 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);
     }
 }
示例#10
0
        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);
        }
示例#11
0
        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);
        }
示例#12
0
        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);
        }
示例#13
0
        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);