From 9d1660270272180cd71147d6ddd53d1382643d2e Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期一, 02 十一月 2026 18:00:14 +0800
Subject: [PATCH] merge: 并入远程 Initial commit 作为历史根节点

---
 HMI.Core/Manager/ParameterManager.cs |  136 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 136 insertions(+), 0 deletions(-)

diff --git a/HMI.Core/Manager/ParameterManager.cs b/HMI.Core/Manager/ParameterManager.cs
new file mode 100644
index 0000000..80109b5
--- /dev/null
+++ b/HMI.Core/Manager/ParameterManager.cs
@@ -0,0 +1,136 @@
+锘縰sing HMI.Core.Entity;
+using HMI.Core.Util;
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+
+namespace HMI.Core.Manager
+{
+    /// <summary>
+    /// TODO 浼樺寲鏁版嵁婧愶紝闇�瑕佹敮鎸乻qlite鍜寈ml
+    /// </summary>
+    public class ParameterManager
+    {
+
+        /// <summary>
+        /// 鑾峰彇閫氱敤鍙傛暟
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <returns></returns>
+        public static T GetCommonParameter<T>() where T : IList<ParameterData>
+        {
+            string path = PathHelper.ParameterDataPath;
+            if (!File.Exists(path)) return default(T);
+            T datas = XmlHelper.DeserializeFromXml<T>(path);
+            return datas;
+        }
+
+        /// <summary>
+        /// 鑾峰彇閫氱敤鍙傛暟
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <returns></returns>
+        public static ParameterData GetCommonParameterByName(string name)
+        {
+            string path = PathHelper.ParameterDataPath;
+            if (!File.Exists(path)) return null;
+            List<ParameterData> datas = XmlHelper.DeserializeFromXml<List<ParameterData>>(path);
+            return datas.FirstOrDefault(d => d.Name == name);
+        }
+
+        public static T GetCommonParameterByName<T>(string name, T defaultValue)
+        {
+            try
+            {
+                string path = PathHelper.ParameterDataPath;
+                if (!File.Exists(path)) return defaultValue;
+                List<ParameterData> datas = XmlHelper.DeserializeFromXml<List<ParameterData>>(path);
+                var data = datas.FirstOrDefault(d => d.Name == name);
+                if (data == null)
+                {
+                    return defaultValue;
+                }
+                return (T)Convert.ChangeType(data.Value, typeof(T));
+            }
+            catch
+            {
+                return defaultValue;
+            }
+        }
+
+        /// <summary>
+        /// 淇濆瓨閫氱敤鍙傛暟
+        /// </summary>
+        /// <param name="datas"></param>
+        /// <exception cref="Exception"></exception>
+        public static void SaveCommonParameter(IList<ParameterData> datas)
+        {
+            if (datas == null)
+            {
+                throw new Exception("涓嶈兘涓簄ull");
+            }
+            string path = PathHelper.ParameterDataPath;
+            XmlHelper.SerializeToXml(path, datas);
+        }
+
+        public static string GetCommonParameterValue(string path, string name)
+        {
+            if (!File.Exists(path)) return null;
+            List<ParameterData> datas = XmlHelper.DeserializeFromXml<List<ParameterData>>(path);
+            ParameterData data = datas.FirstOrDefault(d => d.Name == name);
+            if (data == null) return null;
+            return data.Value;
+        }
+
+        public static bool UpdateCommonParameter(string name, object value, out string errMsg)
+        {
+            errMsg = string.Empty;
+            try
+            {
+                string path = PathHelper.ParameterDataPath;
+                if (!File.Exists(path))
+                {
+                    errMsg = "閰嶇疆鏂囦欢涓嶅瓨鍦�";
+                    return false;
+                }
+                List<ParameterData> datas = XmlHelper.DeserializeFromXml<List<ParameterData>>(path);
+                ParameterData data = datas.FirstOrDefault(d => d.Name == name);
+                if (data != null)
+                {
+                    data.Value = value.ToString();
+                    XmlHelper.SerializeToXml(path, datas);
+                    return true;
+                }
+                string type = "String";
+                if (value is bool)
+                {
+                    type = "Bool";
+                }
+                else if (value is int)
+                {
+                    type = "Int";
+                }
+                else if (value is double)
+                {
+                    type = "Double";
+                }
+
+                data = new ParameterData
+                {
+                    Name = name,
+                    Type = type,
+                    Value = value.ToString()
+                };
+                datas.Add(data);
+                XmlHelper.SerializeToXml(path, datas);
+                return true;
+            }
+            catch (Exception ex)
+            {
+                errMsg = ex.Message;
+                return false;
+            }
+        }
+    }
+}

--
Gitblit v1.9.1