From 3f6a707f2373cfcee7e96c080a01ac1a4964a419 Mon Sep 17 00:00:00 2001 From: wells.liu <wells.liu@broconcentric.com> Date: 星期四, 02 七月 2020 20:54:55 +0800 Subject: [PATCH] 解决 生成新配置问题 --- src/Bro.Process/Bro.Process.csproj | 4 +--- src/Bro.UI.Config/MenuForms/FrmConfig.cs | 4 +++- src/Bro.Common.Model/Helper/SettingHelper.cs | 34 +++++++++++----------------------- src/Bro.Common.Model/Interface/IProcess.cs | 1 + 4 files changed, 16 insertions(+), 27 deletions(-) diff --git a/src/Bro.Common.Model/Helper/SettingHelper.cs b/src/Bro.Common.Model/Helper/SettingHelper.cs index 59ffa67..f481646 100644 --- a/src/Bro.Common.Model/Helper/SettingHelper.cs +++ b/src/Bro.Common.Model/Helper/SettingHelper.cs @@ -16,21 +16,20 @@ const string PROPERTY_DESCRIPTION = "Description"; const string PROPERTY_ICONPATH = "IconPath"; + static string ConfigPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, SETTINGFILE); static JObject data = null; static JObject Data { get { - string configPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, SETTINGFILE); - if (File.Exists(configPath)) + 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); } } - return data; } } @@ -65,24 +64,25 @@ public static List<string> AddNewProductionCode(string code) { - List<string> codes = GetProcessCodes(); + List<string> codes = GetProductionCodes(); if (!codes.Contains(code)) { codes.Add(code); } - if (Data != null && Data.ContainsKey(PROPERTY_PRODUCTIONCODES)) + var dataTemp = Data; + if (dataTemp != null && dataTemp.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)) + 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 GetProcessCodes(); + return GetProductionCodes(); } public static string GetConfigFilePath() @@ -92,18 +92,6 @@ if (Data != null && Data.ContainsKey(PROPERTY_CONFIGPATH)) { path = Data.Value<string>(PROPERTY_CONFIGPATH); - } - - return path; - } - - public static string GetSettingFilePath() - { - string path = ""; - - if (Data != null && Data.ContainsKey(SETTINGFILE)) - { - path = Data.Value<string>(SETTINGFILE); } return path; diff --git a/src/Bro.Common.Model/Interface/IProcess.cs b/src/Bro.Common.Model/Interface/IProcess.cs index 73cfa95..403375d 100644 --- a/src/Bro.Common.Model/Interface/IProcess.cs +++ b/src/Bro.Common.Model/Interface/IProcess.cs @@ -59,6 +59,7 @@ #region 鏁版嵁搴撴搷浣� void SaveProcessConfig(IProcessConfig config); + void CreateNewConfig(IProcessConfig config,string newProductionCode); #endregion } } diff --git a/src/Bro.Process/Bro.Process.csproj b/src/Bro.Process/Bro.Process.csproj index 81759b6..9f6d276 100644 --- a/src/Bro.Process/Bro.Process.csproj +++ b/src/Bro.Process/Bro.Process.csproj @@ -128,9 +128,7 @@ </ItemGroup> <ItemGroup> <None Include="packages.config" /> - <None Include="Setting.json"> - <CopyToOutputDirectory>Always</CopyToOutputDirectory> - </None> + <None Include="Setting.json" /> </ItemGroup> <ItemGroup> <EmbeddedResource Include="Forms\Calibration\FrmCalibration_9P.resx"> diff --git a/src/Bro.UI.Config/MenuForms/FrmConfig.cs b/src/Bro.UI.Config/MenuForms/FrmConfig.cs index a216390..16331d8 100644 --- a/src/Bro.UI.Config/MenuForms/FrmConfig.cs +++ b/src/Bro.UI.Config/MenuForms/FrmConfig.cs @@ -51,13 +51,15 @@ private void buttonCreateConfig_Click(object sender, EventArgs e) { - string pCode = Interaction.InputBox("璇疯緭鍏ヤ骇鍝佺紪鐮�", "浜у搧缂栫爜", "", 100, 100); + string pCode = Interaction.InputBox("璇疯緭鍏ヤ骇鍝佺紪鐮�", "浜у搧缂栫爜","",0,0); if (string.IsNullOrWhiteSpace(pCode)) { MessageBox.Show("璇疯緭鍏ヤ骇鍝佺紪鐮侊紒"); return; } + Process.CreateNewConfig(propGrid.SelectedObject as IProcessConfig, pCode); + MessageBox.Show("鍒涘缓鏂伴厤缃畬鎴�"); } } } -- Gitblit v1.8.0