namespace OSS.Tools.DirConfig { /// /// 默认list配置实现 /// public class DefaultToolListConfig : IToolListConfig { private static readonly DefaultToolDirConfig _defaultTool = new DefaultToolDirConfig(); /// public async Task SetItem(string listKey, string itemKey, TConfig itemValue, string sourceName) { var configRes = await _defaultTool.GetDirConfig>>(listKey, sourceName); ItemConfig? item; if (configRes != null && (item = configRes.FirstOrDefault(c => c.key == itemKey)) != null) { item.value = itemValue; } else { configRes ??= new List>(); configRes.Add(new ItemConfig() {key = itemKey, value = itemValue}); } return await _defaultTool.SetDirConfig(listKey, configRes, sourceName); } /// public async Task>> GetList(string listKey, string sourceName) { return (await _defaultTool.GetDirConfig>>(listKey, sourceName)) ?? new List>();// new Task>>(); } /// public async Task GetCount(string listKey, string sourceName) { return (await _defaultTool.GetDirConfig>(listKey, sourceName))?.Count ?? 0; } /// public async Task?> GetItem(string listKey, string itemKey, string sourceName) { var configs =await _defaultTool.GetDirConfig>>(listKey, sourceName); return configs?.FirstOrDefault(i => i.key == itemKey); } /// public async Task RemoveItem(string listKey, string itemKey, string sourceName) { var configRes = await _defaultTool.GetDirConfig>(listKey, sourceName); ItemConfig? item; if (configRes != null && (item = configRes.FirstOrDefault(c => c.key == itemKey)) != null) { configRes.Remove(item); await _defaultTool.SetDirConfig(listKey, configRes, sourceName); } } } }