Browse Source

Added setting manager extensions.

pull/301/head
Halil İbrahim Kalkan 8 years ago
parent
commit
2bc8fe53e1
  1. 2
      src/Volo.Abp.Settings/Volo.Abp.Settings.csproj.DotSettings
  2. 10
      src/Volo.Abp.Settings/Volo/Abp/Settings/SettingManagerExtensions.cs
  3. 11
      src/Volo.Abp.Settings/Volo/Abp/Settings/SettingManagerSyncExtensions.cs

2
src/Volo.Abp.Settings/Volo.Abp.Settings.csproj.DotSettings

@ -0,0 +1,2 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:String x:Key="/Default/CodeInspection/CSharpLanguageProject/LanguageLevel/@EntryValue">CSharp71</s:String></wpf:ResourceDictionary>

10
src/Volo.Abp.Settings/Volo/Abp/Settings/SettingManagerExtensions.cs

@ -17,5 +17,15 @@ namespace Volo.Abp.Settings
StringComparison.OrdinalIgnoreCase
);
}
public static async Task<T> GetAsync<T>([NotNull] this ISettingManager settingManager, [NotNull] string name, T defaultValue = default)
where T : struct
{
Check.NotNull(settingManager, nameof(settingManager));
Check.NotNull(name, nameof(name));
var value = await settingManager.GetOrNullAsync(name);
return value?.To<T>() ?? defaultValue;
}
}
}

11
src/Volo.Abp.Settings/Volo/Abp/Settings/SettingManagerSyncExtensions.cs

@ -19,5 +19,16 @@ namespace Volo.Abp.Settings
return AsyncHelper.RunSync(settingManager.GetAllAsync);
}
public static T Get<T>([NotNull] this ISettingManager settingManager, [NotNull] string name, T defaultValue = default)
where T : struct
{
return AsyncHelper.RunSync(() => settingManager.GetAsync<T>(name, defaultValue));
}
public static bool IsTrue([NotNull] this ISettingManager settingManager, [NotNull] string name)
{
return AsyncHelper.RunSync(() => settingManager.IsTrueAsync(name));
}
}
}

Loading…
Cancel
Save