From 578014f827b6871833cbfa6e781e05d1f9397995 Mon Sep 17 00:00:00 2001
From: wells.liu <wells.liu@broconcentric.com>
Date: 星期四, 02 七月 2020 14:57:07 +0800
Subject: [PATCH] 保存新配置

---
 src/Bro.Common.Model/Helper/SettingHelper.cs |   47 +++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 39 insertions(+), 8 deletions(-)

diff --git a/src/Bro.Common.Model/Helper/SettingHelper.cs b/src/Bro.Common.Model/Helper/SettingHelper.cs
index 8bfefd6..59ffa67 100644
--- a/src/Bro.Common.Model/Helper/SettingHelper.cs
+++ b/src/Bro.Common.Model/Helper/SettingHelper.cs
@@ -21,16 +21,13 @@
         {
             get
             {
-                if (data == null)
+                string configPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, SETTINGFILE);
+                if (File.Exists(configPath))
                 {
-                    string configPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, SETTINGFILE);
-                    if (File.Exists(configPath))
+                    using (StreamReader reader = new StreamReader(configPath, System.Text.Encoding.UTF8))
                     {
-                        using (StreamReader reader = new StreamReader(configPath, System.Text.Encoding.UTF8))
-                        {
-                            string dataStr = reader.ReadToEnd();
-                            data = JsonConvert.DeserializeObject<JObject>(dataStr);
-                        }
+                        string dataStr = reader.ReadToEnd();
+                        data = JsonConvert.DeserializeObject<JObject>(dataStr);
                     }
                 }
 
@@ -66,6 +63,28 @@
             return codes;
         }
 
+        public static List<string> AddNewProductionCode(string code)
+        {
+            List<string> codes = GetProcessCodes();
+            if (!codes.Contains(code))
+            {
+                codes.Add(code);
+            }
+            if (Data != null && Data.ContainsKey(PROPERTY_PRODUCTIONCODES))
+            {
+                Data[PROPERTY_PRODUCTIONCODES] = new JArray(codes);
+                string newDataStr = JsonConvert.SerializeObject(Data, new JsonSerializerSettings() { TypeNameHandling = TypeNameHandling.Auto });
+                using (StreamWriter writer = new StreamWriter(GetSettingFilePath(), false, System.Text.Encoding.UTF8))
+                {
+                    writer.Write(newDataStr);
+                    writer.Flush();
+                    writer.Close();
+                }
+            }
+
+            return GetProcessCodes();
+        }
+
         public static string GetConfigFilePath()
         {
             string path = "";
@@ -78,6 +97,18 @@
             return path;
         }
 
+        public static string GetSettingFilePath()
+        {
+            string path = "";
+
+            if (Data != null && Data.ContainsKey(SETTINGFILE))
+            {
+                path = Data.Value<string>(SETTINGFILE);
+            }
+
+            return path;
+        }
+
         public static string GetProgramDescription()
         {
             string desc = "浼偗妫嚜鍔ㄥ寲鎶�鏈湁闄愬叕鍙�";

--
Gitblit v1.8.0