Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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));
        }