From b63590d6c7a1a3c01c49de3aea7bd202bc31d8cb Mon Sep 17 00:00:00 2001 From: Ben Date: Thu, 3 Jul 2025 15:42:11 +0800 Subject: [PATCH] Fix #5363: update SettingService.MergeSettings. --- .../Services/Interfaces/ISettingService.cs | 2 +- Oqtane.Client/Services/SettingService.cs | 20 +++++++++---------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/Oqtane.Client/Services/Interfaces/ISettingService.cs b/Oqtane.Client/Services/Interfaces/ISettingService.cs index dcdc7386..2f4c4b94 100644 --- a/Oqtane.Client/Services/Interfaces/ISettingService.cs +++ b/Oqtane.Client/Services/Interfaces/ISettingService.cs @@ -256,7 +256,7 @@ namespace Oqtane.Services Dictionary SetSetting(Dictionary settings, string settingName, string settingValue, bool isPrivate); - Dictionary MergeSettings(Dictionary settings1, Dictionary settings2); + Dictionary MergeSettings(Dictionary baseSettings, Dictionary overwriteSettings); [Obsolete("GetSettingAsync(int settingId) is deprecated. Use GetSettingAsync(string entityName, int settingId) instead.", false)] diff --git a/Oqtane.Client/Services/SettingService.cs b/Oqtane.Client/Services/SettingService.cs index 4a43972e..a55eeeba 100644 --- a/Oqtane.Client/Services/SettingService.cs +++ b/Oqtane.Client/Services/SettingService.cs @@ -266,27 +266,25 @@ namespace Oqtane.Services return settings; } - public Dictionary MergeSettings(Dictionary settings1, Dictionary settings2) + public Dictionary MergeSettings(Dictionary baseSettings, Dictionary overwriteSettings) { - if (settings1 == null) + var settings = baseSettings != null ? new Dictionary(baseSettings) : new Dictionary(); + if (overwriteSettings != null) { - settings1 = new Dictionary(); - } - if (settings2 != null) - { - foreach (var setting in settings2) + foreach (var setting in overwriteSettings) { - if (settings1.ContainsKey(setting.Key)) + if (settings.ContainsKey(setting.Key)) { - settings1[setting.Key] = setting.Value; + settings[setting.Key] = setting.Value; } else { - settings1.Add(setting.Key, setting.Value); + settings.Add(setting.Key, setting.Value); } } } - return settings1; + + return settings; } [Obsolete("GetSettingAsync(int settingId) is deprecated. Use GetSettingAsync(string entityName, int settingId) instead.", false)]