using System.Collections.Generic; using System.Configuration; using System.Threading.Tasks; using Abp.Logging; using Abp.Threading; namespace Abp.Configuration { /// /// Implements default behavior for ISettingStore. /// Only method is implemented and it gets setting's value /// from application's configuration file if exists, or returns null if not. /// public class DefaultConfigSettingStore : ISettingStore { /// /// Gets singleton instance. /// public static DefaultConfigSettingStore Instance { get; } = new DefaultConfigSettingStore(); private DefaultConfigSettingStore() { } public Task GetSettingOrNullAsync(int? tenantId, long? userId, string name) { var value = ConfigurationManager.AppSettings[name]; if (value == null) { return Task.FromResult(null); } return Task.FromResult(new SettingInfo(tenantId, userId, name, value)); } /// public Task DeleteAsync(SettingInfo setting) { LogHelper.Logger.Warn("ISettingStore is not implemented, using DefaultConfigSettingStore which does not support DeleteAsync."); return AbpTaskCache.CompletedTask; } /// public Task CreateAsync(SettingInfo setting) { LogHelper.Logger.Warn("ISettingStore is not implemented, using DefaultConfigSettingStore which does not support CreateAsync."); return AbpTaskCache.CompletedTask; } /// public Task UpdateAsync(SettingInfo setting) { LogHelper.Logger.Warn("ISettingStore is not implemented, using DefaultConfigSettingStore which does not support UpdateAsync."); return AbpTaskCache.CompletedTask; } /// public Task> GetAllListAsync(int? tenantId, long? userId) { LogHelper.Logger.Warn("ISettingStore is not implemented, using DefaultConfigSettingStore which does not support GetAllListAsync."); return Task.FromResult(new List()); } } }