Fix #5363: update SettingService.MergeSettings.

This commit is contained in:
Ben
2025-07-03 15:42:11 +08:00
parent b1a8c28283
commit b63590d6c7
2 changed files with 10 additions and 12 deletions

View File

@ -256,7 +256,7 @@ namespace Oqtane.Services
Dictionary<string, string> SetSetting(Dictionary<string, string> settings, string settingName, string settingValue, bool isPrivate);
Dictionary<string, string> MergeSettings(Dictionary<string, string> settings1, Dictionary<string, string> settings2);
Dictionary<string, string> MergeSettings(Dictionary<string, string> baseSettings, Dictionary<string, string> overwriteSettings);
[Obsolete("GetSettingAsync(int settingId) is deprecated. Use GetSettingAsync(string entityName, int settingId) instead.", false)]

View File

@ -266,27 +266,25 @@ namespace Oqtane.Services
return settings;
}
public Dictionary<string, string> MergeSettings(Dictionary<string, string> settings1, Dictionary<string, string> settings2)
public Dictionary<string, string> MergeSettings(Dictionary<string, string> baseSettings, Dictionary<string, string> overwriteSettings)
{
if (settings1 == null)
var settings = baseSettings != null ? new Dictionary<string, string>(baseSettings) : new Dictionary<string, string>();
if (overwriteSettings != null)
{
settings1 = new Dictionary<string, string>();
}
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)]