Esempio n. 1
0
        private static FeatureToggleFactory LoadFactory()
        {
            var config = (ToggleConfigurationSection)ConfigurationManager.GetSection("nToggle");
            var toggleRepositoryDictionary    = new Dictionary <String, IFeatureToggleRepository>();
            var toggleGlobalSettingDictionary = new Dictionary <String, bool>();
            var toggleValueDictionary         = new Dictionary <String, bool>();
            var staticToggleRepository        = new StaticToggleRepository(toggleValueDictionary);

            foreach (ToggleElement toggle in config.Toggles)
            {
                toggleGlobalSettingDictionary.Add(toggle.Name, toggle.Value);
                if (!toggle.Value || String.IsNullOrEmpty(toggle.Repository))
                {
                    toggleRepositoryDictionary.Add(toggle.Name, staticToggleRepository);
                    toggleValueDictionary.Add(toggle.Name, toggle.Value);
                }
                else
                {
                    string[] strings     = toggle.Repository.Split(',');
                    var      dynamicRepo =
                        (IFeatureToggleRepository)Activator.CreateInstance(strings[0], strings[1]).Unwrap();
                    toggleRepositoryDictionary.Add(toggle.Name, dynamicRepo);
                }
            }

            return(new FeatureToggleFactory(toggleRepositoryDictionary, toggleGlobalSettingDictionary));
        }
        private static FeatureToggleFactory LoadFactory()
        {
            var config = (ToggleConfigurationSection) ConfigurationManager.GetSection(
                "nToggle");
            var toggleRepositoryDictionary = new Dictionary<String, IFeatureToggleRepository>();
            var toggleValueDictionary = new Dictionary<String, bool>();
            var staticToggleRepository = new StaticToggleRepository(toggleValueDictionary);
            foreach (ToggleElement toggle in config.Toggles)
            {
                if (!toggle.Value || String.IsNullOrEmpty(toggle.Repository))
                {
                    toggleRepositoryDictionary.Add(toggle.Name, staticToggleRepository);
                    toggleValueDictionary.Add(toggle.Name, toggle.Value);
                }
                else
                {
                    var strings = toggle.Repository.Split(',');

                    var dynamicRepo =
                        (IFeatureToggleRepository) Activator.CreateInstance(strings[0], strings[1]).Unwrap();
                    toggleRepositoryDictionary.Add(toggle.Name,dynamicRepo);
                }
            }

            return new FeatureToggleFactory(toggleRepositoryDictionary);
        }