public static AgeBandInfo GetAgeBandFromEnum(AgeBand ageBandPassed)
 {
     int fromAge = GetFromAgeOfBand(ageBandPassed);
     int thruAge = GetThruAgeOfBand(ageBandPassed);
     AgeBandInfo newAgeBandInfo = new AgeBandInfo(ageBandPassed, fromAge, thruAge);
     return newAgeBandInfo;
 }
示例#2
0
        public float?GetRiskRate(int age, int sumAssured)
        {
            AgeBand ageBand = GetAgeBand(age);
            //IOrderedEnumerable<Band> bands = Bands.Where(b => b.AgeBand == ageBand && b.SumAssured <= sumAssured).OrderByDescending(b=>b.SumAssured);
            Band band = riskBand.GetAllBands().
                        Where(b => b.AgeBand == ageBand).
                        OrderByDescending(b => b.SumAssured).
                        Aggregate((x, y) => Math.Abs(x.SumAssured - sumAssured) < Math.Abs(y.SumAssured - sumAssured) ? x : y);

            if (band == null)
            {
                return(null);
            }

            return(band.RiskRate);
        }
示例#3
0
 private void SetContactValue(AgeBand ageBand, AgeBand otherAgeBand, in double contacts)
 private void ValidateThruAgeValue(AgeBand ageBandPassed, int thruAgePassed)
 {
     AgeBand containingAgeBand = AgeBandFactory.GetAgeBandContainingAge(thruAgePassed);
     if (ageBandPassed == containingAgeBand)
     {
         thruAge = thruAgePassed;
     }
     else
     {
         errors.Add(new ErrorBase());
     }
 }
 private void SetDefaults()
 {
     fromAge = -1;
     thruAge = -1;
     ageBand = AgeBand.None;
     errors = new List<ErrorBase>();
 }
        public AgeBandInfo(AgeBand ageBandPassed, int fromAgePassed, int thruAgePassed)
        {
            SetDefaults();

            ageBand = ageBandPassed;

            ValidateFromAgeValue(ageBandPassed, fromAgePassed);
            ValidateThruAgeValue(ageBandPassed, thruAgePassed);
        }
        private static int GetThruAgeOfBand(AgeBand ageBandPassed)
        {
            int thruAge = -1;

            switch (ageBandPassed)
            {
                case AgeBand.Infant:
                    thruAge = 0;
                    break;
                case AgeBand.Toddler:
                    thruAge = 2;
                    break;
                case AgeBand.Child:
                    thruAge = 8;
                    break;
                case AgeBand.Preteen:
                    thruAge = 12;
                    break;
                case AgeBand.Teen:
                    thruAge = 19;
                    break;
                case AgeBand.YoungAdult:
                    thruAge = 24;
                    break;
                case AgeBand.Adult:
                    thruAge = 44;
                    break;
                case AgeBand.EarlyMiddleAge:
                    thruAge = 54;
                    break;
                case AgeBand.MiddleAge:
                    thruAge = 64;
                    break;
                case AgeBand.LateMiddleAge:
                    thruAge = 74;
                    break;
                case AgeBand.Elderly:
                    thruAge = 84;
                    break;
                case AgeBand.Geriatric:
                    thruAge = 125;
                    break;
                default:
                    thruAge = -1;
                    break;
            }

            return thruAge;
        }
        private static int GetFromAgeOfBand(AgeBand ageBandPassed)
        {
            int fromAge = -1;

            switch (ageBandPassed)
            {
                case AgeBand.Infant:
                    fromAge = 0;
                    break;
                case AgeBand.Toddler:
                    fromAge = 1;
                    break;
                case AgeBand.Child:
                    fromAge = 3;
                    break;
                case AgeBand.Preteen:
                    fromAge = 9;
                    break;
                case AgeBand.Teen:
                    fromAge = 13;
                    break;
                case AgeBand.YoungAdult:
                    fromAge = 20;
                    break;
                case AgeBand.Adult:
                    fromAge = 25;
                    break;
                case AgeBand.EarlyMiddleAge:
                    fromAge = 45;
                    break;
                case AgeBand.MiddleAge:
                    fromAge = 55;
                    break;
                case AgeBand.LateMiddleAge:
                    fromAge = 65;
                    break;
                case AgeBand.Elderly:
                    fromAge = 75;
                    break;
                case AgeBand.Geriatric:
                    fromAge = 85;
                    break;
                default:
                    fromAge = -1;
                    break;
            }

            return fromAge;
        }