Exemplo n.º 1
0
        public static T GetOrSet <T>(this ISettingStore settings, string key, Func <T> getDefaultValue, string description)
        {
            T returnValue;

            string keyValue = settings.Get(key);

            if (keyValue.IsNullOrWhiteSpace())
            {
                returnValue = getDefaultValue();

                // set default
                settings.Set(key, returnValue);
            }
            else
            {
                returnValue = keyValue.ToType <T>();
            }

            var descriptionKey = $"{key}_Description";

            if (!description.IsNullOrWhiteSpace() && settings.Get(descriptionKey).IsNullOrWhiteSpace())
            {
                settings.Set(descriptionKey, $@"## {description}");
            }

            return(returnValue);
        }