private DailySummaryExposureConfiguration RetrieveDailySummaryConfiguration(IConfiguration configuration)
        {
            var dailySummaryConfigurationSection = configuration.GetSection("DailySummaryConfiguration");
            var dailySummaryConfiguration        = dailySummaryConfigurationSection.Get <DailySummaryConfiguration>();
            var scoreSumThreshold = configuration.GetValue <double>("ScoreSumThreshold");

            var retVal = new DailySummaryExposureConfiguration
            {
                DailySummaryConfiguration = dailySummaryConfiguration,
                ScoreSumThreshold         = scoreSumThreshold
            };

            return(retVal);
        }
        public ExposureConfigurationService(IConfiguration configuration)
        {
            // V1
            _exposureConfiguration = RetrieveExposureConfigurationFromConfig(configuration.GetSection("ExposureConfig"));
            ModelValidator.ValidateContract(_exposureConfiguration);

            // V1_2
            _exposureConfigurationV1_2 = new ExposureConfigurationV1_2()
            {
                Configuration            = RetrieveExposureConfigurationFromConfig(configuration.GetSection("ExposureConfigV1_2")),
                AttenuationBucketsParams = RetrieveAttentuationBucketsParametersFromConfig(configuration.GetSection("AttenuationBucketsParams"))
            };
            ModelValidator.ValidateContract(_exposureConfigurationV1_2);

            // DailySummaryConfiguration
            _dailySummaryConfiguration = RetrieveDailySummaryConfiguration(configuration);
            ModelValidator.ValidateContract(_dailySummaryConfiguration);
        }