public async Task <string> GetAsync(string key) { MoMoBotAssert.KeyNotNullOrEmpty(key); var settings = (await _cache.GetAsync <List <AppSettingsDto> >(Constants.RedisKey.Settings))?.Value; if (settings == null) { settings = await GetSettingsFromDBAsync(); } return(settings.FirstOrDefault(s => s.Key == key)?.Value); }
public async Task SetAsync(string key, string value) { MoMoBotAssert.KeyNotNullOrEmpty(key); MoMoBotAssert.ValueNullOrWhiteSpace(value); var setting = await _dbContext.Settings.FirstOrDefaultAsync(s => s.Key == key); if (setting != null) { if (setting.ReadOnly == false) { setting.Value = value; _dbContext.Settings.Update(setting); await _dbContext.SaveChangesAsync(); await GetSettingsFromDBAsync(); } } }