From 67cd007252dde517855750967aba7208f47c355b Mon Sep 17 00:00:00 2001 From: barelyprofessional <150058423+barelyprofessional@users.noreply.github.com> Date: Sun, 1 Sep 2024 20:24:59 +0800 Subject: [PATCH] Updated SetValueAsKeyValuePairs to SetValueAsJsonObject --- KfChatDotNetBot/Settings/Helpers.cs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/KfChatDotNetBot/Settings/Helpers.cs b/KfChatDotNetBot/Settings/Helpers.cs index 1181246..1143968 100644 --- a/KfChatDotNetBot/Settings/Helpers.cs +++ b/KfChatDotNetBot/Settings/Helpers.cs @@ -1,6 +1,7 @@ using KfChatDotNetBot.Models.DbModels; using Microsoft.EntityFrameworkCore; using System.Runtime.Caching; +using System.Text.Json; using NLog; namespace KfChatDotNetBot.Settings; @@ -118,17 +119,13 @@ public static class Helpers if (cache.Contains(key)) cache.Remove(key); } - public static async Task SetValueAsKeyValuePairs(string key, Dictionary data, char delimiter = ',', - char separator = '=') + public static async Task SetValueAsJsonObject(string key, T data) { var logger = LogManager.GetCurrentClassLogger(); await using var db = new ApplicationDbContext(); logger.Debug($"Building data for {key}"); - var value = data.Keys.Aggregate(string.Empty, - (current, dictKey) => current + $"{dictKey}{separator}{data[dictKey]}{delimiter}"); - - // Remove trailing delimiters that would be leftover as it doesn't account for whether it's the last key - value = value.TrimEnd(delimiter); + var value = JsonSerializer.Serialize(data); + logger.Debug($"Setting {key} to {value}"); var setting = await db.Settings.FirstOrDefaultAsync(s => s.Key == key);