From 5985161bee76bbb702719f18161f29cab19369f1 Mon Sep 17 00:00:00 2001 From: Tongg Date: Tue, 22 Apr 2025 10:15:23 +0800 Subject: [PATCH] fix: dynamic key --- Model/Entity/AgileJsonConfigEntity.cs | 11 ++++++----- ViewModel/Configuration/AlgorithmConfigVM.cs | 9 +++++---- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/Model/Entity/AgileJsonConfigEntity.cs b/Model/Entity/AgileJsonConfigEntity.cs index b587b70..d94aa6c 100644 --- a/Model/Entity/AgileJsonConfigEntity.cs +++ b/Model/Entity/AgileJsonConfigEntity.cs @@ -8,7 +8,8 @@ namespace SparkClient.Model.Entity; public class AgileJsonConfigEntity { - public readonly List Keys; + // public readonly List Keys; + private AlgorithmConfigVM ACVM; private ManualObservableCollection _runKey; public ManualObservableCollection RunKey { @@ -20,13 +21,13 @@ public class AgileJsonConfigEntity } } - public AgileJsonConfigEntity( List keys) + public AgileJsonConfigEntity(AlgorithmConfigVM acVM) { Shape = "圆形"; ModeValue = "999"; SpecValue = "999"; - Keys = keys; - RunKey = new ManualObservableCollection(keys); + ACVM = acVM; + RunKey = new ManualObservableCollection(acVM.JsonKeysBak); } @@ -81,7 +82,7 @@ public class AgileJsonConfigEntity { RunKey.CanNotify = false; RunKey.Clear(); - foreach (var data in Keys) + foreach (var data in ACVM.JsonKeysBak) { if (data.ToLower().Contains(key.ToLower())) { diff --git a/ViewModel/Configuration/AlgorithmConfigVM.cs b/ViewModel/Configuration/AlgorithmConfigVM.cs index 161f4e7..bf37c8f 100644 --- a/ViewModel/Configuration/AlgorithmConfigVM.cs +++ b/ViewModel/Configuration/AlgorithmConfigVM.cs @@ -56,7 +56,7 @@ public class AlgorithmConfigVM : BaseViewModel } } - public List _jsonKeysBak; + private List _jsonKeysBak; public List JsonKeysBak { get => _jsonKeysBak; @@ -85,14 +85,14 @@ public class AlgorithmConfigVM : BaseViewModel AgileJsonConfigEntities = new ObservableCollection(); string sql = @"SELECT Mode, Shape, Spec, JsonKey, Value FROM AGILE_ALGORITHM_CONFIG"; DataTable dataTable = DataBaseHelper.ExecuteQuery(sql); - var baseData = new AgileJsonConfigEntity(_jsonKeysBak); + var baseData = new AgileJsonConfigEntity(this); if (dataTable != null && dataTable.Rows.Count >= 0) { foreach (DataRow row in dataTable.Rows) { try { - AgileJsonConfigEntities.Add(new AgileJsonConfigEntity(_jsonKeysBak) + AgileJsonConfigEntities.Add(new AgileJsonConfigEntity(this) { ModeValue = row["Mode"].ToSafeString(), SpecValue = row["Spec"].ToSafeString(), @@ -235,7 +235,7 @@ public class AlgorithmConfigVM : BaseViewModel public ICommand AddCommand => new RelayCommand((param) => { string data = GetAlgorithmConfig("P8 P8"); - AgileJsonConfigEntities.Add(new AgileJsonConfigEntity(_jsonKeysBak)); + AgileJsonConfigEntities.Add(new AgileJsonConfigEntity(this)); }); [Log] @@ -264,6 +264,7 @@ public class AlgorithmConfigVM : BaseViewModel { try { + _jsonKeysBak = GetNestedKeys(JObject.Parse(AlgorithmConfigJson)); if (!CheckAndSaveAgileJson()) { return;