From 1afe548ac40cc7f975917ef9bf2e156595cf81f3 Mon Sep 17 00:00:00 2001
From: alielie <alielie@git.com>
Date: 星期四, 16 四月 2026 08:58:04 +0800
Subject: [PATCH] 优化;
---
HMI.ParameterManage/Model/XmlModel.cs | 24 +++++++++++++++++++++---
1 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/HMI.ParameterManage/Model/XmlModel.cs b/HMI.ParameterManage/Model/XmlModel.cs
index 9b1f6f3..92210e2 100644
--- a/HMI.ParameterManage/Model/XmlModel.cs
+++ b/HMI.ParameterManage/Model/XmlModel.cs
@@ -53,6 +53,8 @@
}
}
+ public List<string> groups { get; private set; }
+
public bool ValidateProductName(object value, out string msg)
{
msg = null;
@@ -94,10 +96,10 @@
if (SelectedProduct != null)
{
parameters = ProductManager.GetParametersByProductName<ObservableCollection<ParameterData>>(SelectedProduct.Name);
-
}
parameters = parameters ?? new ObservableCollection<ParameterData>();
Parameters = parameters;
+ groups = Parameters.Where(p => !string.IsNullOrEmpty(p.PGroup)).Select(p => p.PGroup).Distinct().ToList();
}
public void SaveOrUpdateData(ProductData data)
@@ -136,6 +138,16 @@
var temp = XmlHelper.DeepClone(Products);
temp.Add(data);
SaveProduct(temp);
+ if (!string.IsNullOrEmpty(data.ParentId))
+ {
+ var parameters =
+ ProductManager.GetParametersByProductName<List<ParameterData>>(data.ParentId);
+ foreach (var p in parameters)
+ {
+ p.ProductName = data.Name;
+ }
+ SaveParameter(data.Name, parameters);
+ }
}
/// <summary>
@@ -179,7 +191,7 @@
/// <param name="datas"></param>
private void SaveProduct(IList<ProductData> datas)
{
- XmlHelper.SerializeToXml(PathHelper.ProductDataFile, datas);
+ XmlHelper.SerializeToXml(ProductManager.GetDataFilePath(), datas);
}
#endregion
@@ -245,7 +257,13 @@
/// <param name="datas"></param>
private void SaveParameter(IList<ParameterData> datas)
{
- string fileName = Path.Combine(PathHelper.ProductDataFolder, "Parameter", $"Parameter_{SelectedProduct.Name}.data");
+ string fileName = ProductManager.GetParamFolderByProductName(SelectedProduct.Name);
+ XmlHelper.SerializeToXml(fileName, datas);
+ }
+
+ private void SaveParameter(string product, IList<ParameterData> datas)
+ {
+ string fileName = ProductManager.GetParamFolderByProductName(product);
XmlHelper.SerializeToXml(fileName, datas);
}
#endregion
--
Gitblit v1.9.1