public ManifestCreationStrategyDefault(
     IFeatureSettingRepository <TFeatureEnum, TTenantEnum> featureSettingRepository,
     IFeatureSettingService <TFeatureEnum, TTenantEnum, EmptyArgs> featureSettingService)
 {
     _featureSettingRepository = featureSettingRepository;
     _featureSettingService    = featureSettingService;
 }
Ejemplo n.º 2
0
 public FeatureSettingService(
     IFeatureSettingAvailabilityChecker <TFeatureEnum> featureSettingAvailabilityChecker,
     IFeatureSettingRepository <TFeatureEnum> featureSettingRepository)
 {
     _featureSettingAvailabilityChecker = featureSettingAvailabilityChecker;
     _featureSettingRepository          = featureSettingRepository;
 }
Ejemplo n.º 3
0
 public FeatureSettingService(
     IFeatureSettingAvailabilityChecker <TFeatureEnum, DefaultTenantEnum, TAvailabilityCheckArgs>
     featureSettingAvailabilityChecker,
     IFeatureSettingRepository <TFeatureEnum, DefaultTenantEnum> featureSettingRepository)
 {
     _featureSettingAvailabilityChecker = featureSettingAvailabilityChecker;
     _featureSettingRepository          = featureSettingRepository;
 }
Ejemplo n.º 4
0
 public ManifestCreationStrategyConsideringStateCookieTenantAndTime(
     IFeatureSettingService <TFeatureEnum, TTenantEnum, Tuple <FeatureVisibilityMode, TTenantEnum, DateTime> > featureSettingService,
     IFeatureSettingRepository <TFeatureEnum, TTenantEnum> featureSettingsRepository,
     HttpContextBase httpContext,
     ITenancyContext <TTenantEnum> tenancyContext,
     IApplicationClock clock)
 {
     _featureSettingService     = featureSettingService;
     _featureSettingsRepository = featureSettingsRepository;
     _httpContext    = httpContext;
     _tenancyContext = tenancyContext;
     _clock          = clock;
 }
Ejemplo n.º 5
0
        /// <summary>
        ///     Designed for use for features that the feature subsystem itself depends upon. Provides a way of retrieving feature setting information without the FeatureManifest being pre-instantiated.
        /// </summary>
        internal static string Setting <TFeatureEnum, TTenantEnum>(this TFeatureEnum feature,
                                                                   Enum settingName,
                                                                   IFeatureSettingRepository
                                                                   <TFeatureEnum, TTenantEnum>
                                                                   featureSettingRepository)
            where TFeatureEnum : struct
            where TTenantEnum : struct
        {
            try {
                FeatureSetting <TFeatureEnum, TTenantEnum>[] featureSettings = featureSettingRepository.GetFeatureSettings();
                FeatureSetting <TFeatureEnum, TTenantEnum>   featureSetting  = featureSettings.First(s => s.Feature.Equals(feature));             //was ==
                Ensure.That <FeatureConfigurationException <TFeatureEnum> >(featureSetting.IsRequiredByFeatureSubsystem, "Specified feature not marked as being required by the feature subsystem.");

                return(featureSetting.Settings[Enum.GetName(settingName.GetType(), settingName)]);
            } catch (Exception e) {
                throw new Exception(string.Format("Unable to find setting \"{0}\".", settingName), e);
            }
        }
 public ManifestCreationStrategyDefault(
     IFeatureSettingRepository <TFeatureEnum> featureSettingRepository,
     IFeatureSettingService <TFeatureEnum> featureSettingService)
     : base(featureSettingRepository, featureSettingService)
 {
 }