fix: dynamic key

master
Tongg 8 months ago
parent 5cd01f2caf
commit 5985161bee
  1. 11
      Model/Entity/AgileJsonConfigEntity.cs
  2. 9
      ViewModel/Configuration/AlgorithmConfigVM.cs

@ -8,7 +8,8 @@ namespace SparkClient.Model.Entity;
public class AgileJsonConfigEntity public class AgileJsonConfigEntity
{ {
public readonly List<string> Keys; // public readonly List<string> Keys;
private AlgorithmConfigVM ACVM;
private ManualObservableCollection<string> _runKey; private ManualObservableCollection<string> _runKey;
public ManualObservableCollection<string> RunKey { public ManualObservableCollection<string> RunKey {
@ -20,13 +21,13 @@ public class AgileJsonConfigEntity
} }
} }
public AgileJsonConfigEntity( List<string> keys) public AgileJsonConfigEntity(AlgorithmConfigVM acVM)
{ {
Shape = "圆形"; Shape = "圆形";
ModeValue = "999"; ModeValue = "999";
SpecValue = "999"; SpecValue = "999";
Keys = keys; ACVM = acVM;
RunKey = new ManualObservableCollection<string>(keys); RunKey = new ManualObservableCollection<string>(acVM.JsonKeysBak);
} }
@ -81,7 +82,7 @@ public class AgileJsonConfigEntity
{ {
RunKey.CanNotify = false; RunKey.CanNotify = false;
RunKey.Clear(); RunKey.Clear();
foreach (var data in Keys) foreach (var data in ACVM.JsonKeysBak)
{ {
if (data.ToLower().Contains(key.ToLower())) if (data.ToLower().Contains(key.ToLower()))
{ {

@ -56,7 +56,7 @@ public class AlgorithmConfigVM : BaseViewModel
} }
} }
public List<string> _jsonKeysBak; private List<string> _jsonKeysBak;
public List<string> JsonKeysBak public List<string> JsonKeysBak
{ {
get => _jsonKeysBak; get => _jsonKeysBak;
@ -85,14 +85,14 @@ public class AlgorithmConfigVM : BaseViewModel
AgileJsonConfigEntities = new ObservableCollection<AgileJsonConfigEntity>(); AgileJsonConfigEntities = new ObservableCollection<AgileJsonConfigEntity>();
string sql = @"SELECT Mode, Shape, Spec, JsonKey, Value FROM AGILE_ALGORITHM_CONFIG"; string sql = @"SELECT Mode, Shape, Spec, JsonKey, Value FROM AGILE_ALGORITHM_CONFIG";
DataTable dataTable = DataBaseHelper.ExecuteQuery(sql); DataTable dataTable = DataBaseHelper.ExecuteQuery(sql);
var baseData = new AgileJsonConfigEntity(_jsonKeysBak); var baseData = new AgileJsonConfigEntity(this);
if (dataTable != null && dataTable.Rows.Count >= 0) if (dataTable != null && dataTable.Rows.Count >= 0)
{ {
foreach (DataRow row in dataTable.Rows) foreach (DataRow row in dataTable.Rows)
{ {
try try
{ {
AgileJsonConfigEntities.Add(new AgileJsonConfigEntity(_jsonKeysBak) AgileJsonConfigEntities.Add(new AgileJsonConfigEntity(this)
{ {
ModeValue = row["Mode"].ToSafeString(), ModeValue = row["Mode"].ToSafeString(),
SpecValue = row["Spec"].ToSafeString(), SpecValue = row["Spec"].ToSafeString(),
@ -235,7 +235,7 @@ public class AlgorithmConfigVM : BaseViewModel
public ICommand AddCommand => new RelayCommand((param) => public ICommand AddCommand => new RelayCommand((param) =>
{ {
string data = GetAlgorithmConfig("P8 P8"); string data = GetAlgorithmConfig("P8 P8");
AgileJsonConfigEntities.Add(new AgileJsonConfigEntity(_jsonKeysBak)); AgileJsonConfigEntities.Add(new AgileJsonConfigEntity(this));
}); });
[Log] [Log]
@ -264,6 +264,7 @@ public class AlgorithmConfigVM : BaseViewModel
{ {
try try
{ {
_jsonKeysBak = GetNestedKeys(JObject.Parse(AlgorithmConfigJson));
if (!CheckAndSaveAgileJson()) if (!CheckAndSaveAgileJson())
{ {
return; return;

Loading…
Cancel
Save