コード例 #1
0
        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);
        }
コード例 #2
0
        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();
                }
            }
        }