From cf4babd9a65efdb44163822f0b9137bef83a0bbf Mon Sep 17 00:00:00 2001 From: xcd <834800634@qq.com> Date: 星期五, 03 七月 2020 10:47:42 +0800 Subject: [PATCH] 添加Enum描述转换器 板卡IO添加预定义配置 --- src/Bro.Common.Model/Helper/SettingHelper.cs | 79 ++++++++++++++++++++++++++++----------- 1 files changed, 56 insertions(+), 23 deletions(-) diff --git a/src/Bro.Common.Model/Helper/SettingHelper.cs b/src/Bro.Common.Model/Helper/SettingHelper.cs index 8bfefd6..a14100e 100644 --- a/src/Bro.Common.Model/Helper/SettingHelper.cs +++ b/src/Bro.Common.Model/Helper/SettingHelper.cs @@ -16,32 +16,42 @@ const string PROPERTY_DESCRIPTION = "Description"; const string PROPERTY_ICONPATH = "IconPath"; - static JObject data = null; - static JObject Data - { - get - { - if (data == null) - { - string configPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, SETTINGFILE); - if (File.Exists(configPath)) - { - using (StreamReader reader = new StreamReader(configPath, System.Text.Encoding.UTF8)) - { - string dataStr = reader.ReadToEnd(); - data = JsonConvert.DeserializeObject<JObject>(dataStr); - } - } - } + static string ConfigPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, SETTINGFILE); + //static JObject data = null; + //static JObject Data + //{ + // get + // { + // if (File.Exists(ConfigPath)) + // { + // using (StreamReader reader = new StreamReader(ConfigPath, System.Text.Encoding.UTF8)) + // { + // string dataStr = reader.ReadToEnd(); + // data = JsonConvert.DeserializeObject<JObject>(dataStr); + // } + // } + // return data; + // } + //} - return data; + public static JObject GetSettingData() + { + JObject settingData = null; + if (File.Exists(ConfigPath)) + { + using (StreamReader reader = new StreamReader(ConfigPath, System.Text.Encoding.UTF8)) + { + string dataStr = reader.ReadToEnd(); + settingData = JsonConvert.DeserializeObject<JObject>(dataStr); + } } + return settingData; } public static List<string> GetProductionCodes() { List<string> codes = new List<string>(); - + var Data = GetSettingData(); if (Data != null && Data.ContainsKey(PROPERTY_PRODUCTIONCODES)) { codes = Data.Value<JArray>(PROPERTY_PRODUCTIONCODES).ToList().ConvertAll(u => u.ToString()); @@ -58,7 +68,7 @@ public static List<string> GetProcessCodes() { List<string> codes = new List<string>(); - + var Data = GetSettingData(); if (Data != null && Data.ContainsKey(PROPERTY_PROCESSCODES)) { codes = Data.Value<JArray>(PROPERTY_PROCESSCODES).ToList().ConvertAll(u => u.ToString()); @@ -66,10 +76,33 @@ return codes; } + public static List<string> AddNewProductionCode(string code) + { + var dataTemp = GetSettingData(); + if (dataTemp != null && dataTemp.ContainsKey(PROPERTY_PRODUCTIONCODES)) + { + List<string> codes = GetProductionCodes(); + if (!codes.Contains(code)) + { + codes.Add(code); + } + dataTemp[PROPERTY_PRODUCTIONCODES] = new JArray(codes); + + string newDataStr = JsonConvert.SerializeObject(dataTemp, new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.Auto }); + using (StreamWriter writer = new StreamWriter(ConfigPath, false, System.Text.Encoding.UTF8)) + { + writer.Write(newDataStr); + writer.Flush(); + writer.Close(); + } + } + return GetProductionCodes(); + } + public static string GetConfigFilePath() { string path = ""; - + var Data = GetSettingData(); if (Data != null && Data.ContainsKey(PROPERTY_CONFIGPATH)) { path = Data.Value<string>(PROPERTY_CONFIGPATH); @@ -81,7 +114,7 @@ public static string GetProgramDescription() { string desc = "浼偗妫嚜鍔ㄥ寲鎶�鏈湁闄愬叕鍙�"; - + var Data = GetSettingData(); if (Data != null && Data.ContainsKey(PROPERTY_DESCRIPTION)) { desc = Data.Value<string>(PROPERTY_DESCRIPTION); @@ -98,7 +131,7 @@ { iconPath = ""; } - + var Data = GetSettingData(); if (Data != null && Data.ContainsKey(PROPERTY_ICONPATH)) { iconPath = Data.Value<string>(PROPERTY_ICONPATH); -- Gitblit v1.8.0