public async Task <SettingBasePayload> AddSetting(AddSettingInput input, [ScopedService] ApplicationDbContext context, CancellationToken cancellationToken) { var setting = new Settings() { Key = input.Key, Value = input.Value }; await context.Settings.AddAsync(setting, cancellationToken); await context.SaveChangesAsync(cancellationToken); QueryCacheManager.ExpireType <Settings>(); return(new SettingBasePayload(setting)); }
public async Task <SettingBasePayload> UpdateSetting(AddSettingInput input, [ScopedService] ApplicationDbContext context, CancellationToken cancellationToken) { Settings?setting = await context.Settings.DeferredFirst(x => x.Key == input.Key).FromCacheAsync(cancellationToken); if (setting is null) { return(new SettingBasePayload( new UserError("Setting with key not found.", "SETTING_NOT_FOUND"))); } setting.Value = input.Value; await context.SaveChangesAsync(cancellationToken); QueryCacheManager.ExpireType <Settings>(); return(new SettingBasePayload(setting)); }