ISCManager及其实现的SetItemValue()方法增加temporarily参数,允许临时修改系统配置,而不保存到磁盘。
This commit is contained in:
SL 2024-01-16 15:55:47 +08:00
parent 30af978517
commit 5f3cce8c72
3 changed files with 25 additions and 30 deletions

View File

@ -11,29 +11,29 @@ namespace Aitex.Core.RT.SCCore
private static Dictionary<string, ISCManager> ModularManager { get; set; } = new Dictionary<string, ISCManager>();
public static void SetItemValue(string name, object value)
public static void SetItemValue(string name, object value, bool temporarily = false)
{
Manager?.SetItemValue(name, value);
Manager?.SetItemValue(name, value, temporarily);
}
public static void SetItemValue(string name, bool value)
public static void SetItemValue(string name, bool value, bool temporarily = false)
{
Manager?.SetItemValue(name, value);
Manager?.SetItemValue(name, value, temporarily);
}
public static void SetItemValue(string name, int value)
public static void SetItemValue(string name, int value, bool temporarily = false)
{
Manager?.SetItemValue(name, value);
Manager?.SetItemValue(name, value, temporarily);
}
public static void SetItemValue(string name, double value)
public static void SetItemValue(string name, double value, bool temporarily = false)
{
Manager?.SetItemValue(name, value);
Manager?.SetItemValue(name, value, temporarily);
}
public static void SetItemValue(string name, string value)
public static void SetItemValue(string name, string value, bool temporarily = false)
{
Manager?.SetItemValue(name, value);
Manager?.SetItemValue(name, value, temporarily);
}
public static SCConfigItem GetConfigItem(string name)

View File

@ -10,15 +10,15 @@ namespace MECF.Framework.Common.SCCore
string GetStringValue(string name);
void SetItemValue(string name, object value);
void SetItemValue(string name, object value, bool temporarily = false);
void SetItemValue(string name, bool value);
void SetItemValue(string name, bool value, bool temporarily = false);
void SetItemValue(string name, int value);
void SetItemValue(string name, int value, bool temporarily = false);
void SetItemValue(string name, double value);
void SetItemValue(string name, double value, bool temporarily = false);
void SetItemValue(string name, string value);
void SetItemValue(string name, string value, bool temporarily = false);
SCConfigItem GetConfigItem(string name);

View File

@ -6,18 +6,13 @@ using System.IO;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
using Aitex.Common.Util;
using Aitex.Core.RT.ConfigCenter;
using Aitex.Core.RT.DBCore;
using Aitex.Core.RT.Event;
using Aitex.Core.RT.Log;
using Aitex.Core.RT.OperationCenter;
using Aitex.Core.RT.SCCore;
using Aitex.Core.Util;
using DocumentFormat.OpenXml.Vml.Spreadsheet;
using DocumentFormat.OpenXml.Wordprocessing;
using MECF.Framework.Common.Equipment;
using MECF.Framework.Common.FAServices;
using MECF.Framework.Common.MECF.Framework.Common.SCCore;
@ -564,57 +559,57 @@ namespace MECF.Framework.Common.SCCore
return scItem?.SafeSetValue(value) ?? false;
}
public void SetItemValue(string name, object value)
public void SetItemValue(string name, object value, bool temporarily)
{
Debug.Assert(_items.ContainsKey(name), "can not find sc name, " + name);
if (!_items.ContainsKey(name))
return;
if (_items[name].SetValue(value))
if (_items[name].SetValue(value) && !temporarily)
{
GenerateDataFile();
}
}
/// <inheritdoc/>
public void SetItemValue(string name, bool value)
public void SetItemValue(string name, bool value, bool temporarily)
{
Debug.Assert(_items.ContainsKey(name), "can not find sc name, " + name);
Debug.Assert(_items[name].Type == "Bool", "sc type not bool, defined as" + _items[name].Type);
if (_items[name].SetValue(value))
if (_items[name].SetValue(value) && !temporarily)
{
GenerateDataFile();
}
}
/// <inheritdoc/>
public void SetItemValue(string name, int value)
public void SetItemValue(string name, int value, bool temporarily)
{
Debug.Assert(_items.ContainsKey(name), "can not find sc name, " + name);
Debug.Assert(_items[name].Type == "Integer", "sc type not bool, defined as" + _items[name].Type);
if (_items[name].SetValue(value))
if (_items[name].SetValue(value) && !temporarily)
{
GenerateDataFile();
}
}
/// <inheritdoc/>
public void SetItemValue(string name, double value)
public void SetItemValue(string name, double value, bool temporarily)
{
Debug.Assert(_items.ContainsKey(name), "can not find sc name, " + name);
Debug.Assert(_items[name].Type == "Double", "sc type not bool, defined as" + _items[name].Type);
if (_items[name].SetValue(value))
if (_items[name].SetValue(value) && !temporarily)
{
GenerateDataFile();
}
}
/// <inheritdoc/>
public void SetItemValue(string name, string value)
public void SetItemValue(string name, string value, bool temporarily)
{
Debug.Assert(_items.ContainsKey(name), "can not find sc name, " + name);
if (_items[name].SetValue(value))
if (_items[name].SetValue(value) && !temporarily)
{
GenerateDataFile();
}