Exemple #1
0
        public OccupancyService(OccupancyDefinition definition)
        {
            //assuming there are no overlapping ranges, because we check that on input
            var maxAge = definition.Ranges
                         .Where(r => r.Type == AgeRangeTypes.Adult)
                         .Select(r => r.UpperBound)
                         .First();

            _filter = new AgeRangeTypes[maxAge + 1];

            foreach (var range in definition.Ranges)
            {
                var type = range.Type;
                for (var i = range.LowerBound; i < range.UpperBound + 1; i++)
                {
                    _filter[i] = type;
                }
            }
        }
Exemple #2
0
 public AgeRange(AgeRangeTypes type, int lowerBound, int upperBound)
 {
     LowerBound = lowerBound;
     Type       = type;
     UpperBound = upperBound;
 }