示例#1
0
        public async Task Set <T>(string plugin, T value) where T : ISettings <T>, new()
        {
            var jsonValue = JsonConvert.SerializeObject(value);
            var existing  = await _db.PluginSettings.FirstOrDefaultAsync(x => x.Plugin == plugin);

            if (existing != null)
            {
                existing.Value            = jsonValue;
                _db.Entry(existing).State = EntityState.Modified;
            }
            else
            {
                await _db.PluginSettings.AddAsync(PluginSetting.Create(plugin, jsonValue));
            }

            await _db.SaveChangesAsync();
        }