| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.IO; |
| | | using System.Linq; |
| | | |
| | | namespace HMI.Core.Manager |
| | | { |
| | |
| | | } |
| | | |
| | | /// <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> |
| | |
| | | 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; |
| | | } |
| | | } |
| | | } |
| | | } |