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());
}
}
}