From 8b0e025296ada3552e50dad2ca02f6b1e40bb97b Mon Sep 17 00:00:00 2001 From: lixiaojun <1287241240@qq.com> Date: 星期二, 10 十二月 2024 20:29:54 +0800 Subject: [PATCH] 增加方案删除和更新 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/02-visual/03-vm/SimulationVisualVmListHelper.cs | 60 ++++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 38 insertions(+), 22 deletions(-) diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/02-visual/03-vm/SimulationVisualVmListHelper.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/02-visual/03-vm/SimulationVisualVmListHelper.cs index 0575a59..33123aa 100644 --- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/02-visual/03-vm/SimulationVisualVmListHelper.cs +++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/02-visual/03-vm/SimulationVisualVmListHelper.cs @@ -12,40 +12,48 @@ /// <summary> /// /// </summary> - public SimulationVisualVmListHelper(SimulationVisualListHelper visualListHelper, SimulationCalcuResultHelper calcuResultHelper) + public SimulationVisualVmListHelper + ( + SimulationVisualListHelper visualListHelper, + SimulationCalcuResultHelper calcuResultHelper + ) { _visualListHelper = visualListHelper; _calcuResultHelper = calcuResultHelper; + _visualListHelper.InitialEvent += () => Initial(); + Initial(); } private SimulationVisualListHelper _visualListHelper = null;//鍙鍒楄〃杈呭姪绫� private SimulationCalcuResultHelper _calcuResultHelper = null;//璁$畻缁撴灉杈呭姪绫� private Dictionary<string, HydroVisualViewModel> _dict;//瀛楀吀 + //鍒濆鍖� + private void Initial() + { + _dict = new Dictionary<string, HydroVisualViewModel>(); + var allVisualDict = _visualListHelper.GetVisualDict(); + if (allVisualDict != null && allVisualDict.Count > 0) + { + var allCalcuResultVisualDict = _calcuResultHelper.GetVisualDict(); + foreach (var visualKeyValue in allVisualDict) + { + var vm = HydroVisualViewModelBuilder.CreateVisualViewModel(visualKeyValue.Value, _visualListHelper.HydroInfo); + var calcuVisualResult = allCalcuResultVisualDict?.GetValue(visualKeyValue.Key); + if (calcuVisualResult != null) + { + vm.UpdateCalcuProperty(calcuVisualResult); + } + _dict.Add(visualKeyValue.Key, vm); + } + } + } + /// <summary> /// 鑾峰彇鍙瑙嗗浘瀛楀吀 /// </summary> public Dictionary<string, HydroVisualViewModel> GetVisualDict() { - if (_dict == null) - { - _dict = new Dictionary<string, HydroVisualViewModel>(); - var allVisualDict = _visualListHelper.GetVisualDict(); - if (allVisualDict != null && allVisualDict.Count > 0) - { - var allCalcuResultVisualDict = _calcuResultHelper.GetVisualDict(); - foreach (var visualKeyValue in allVisualDict) - { - var vm = HydroVisualViewModelBuilder.CreateVisualViewModel(visualKeyValue.Value, _visualListHelper.HydroInfo); - var calcuVisualResult = allCalcuResultVisualDict?.GetValue(visualKeyValue.Key); - if (calcuVisualResult != null) - { - vm.UpdateCalcuProperty(calcuVisualResult); - } - _dict.Add(visualKeyValue.Key, vm); - } - } - } return _dict; } @@ -55,7 +63,7 @@ public List<HydroVisualViewModel> GetVisualList() { var dict = GetVisualDict(); - return dict.Values.ToList(); + return dict?.Values.ToList(); } /// <summary> @@ -68,6 +76,10 @@ return default; } var dict = GetVisualDict(); + if (dict == null || dict.Count < 1) + { + return default; + } if (dict.ContainsKey(code)) { return dict[code]; @@ -106,7 +118,7 @@ public void UpdateProperty() { var dict = GetVisualDict(); - dict.ForEach(x => x.Value.UpdateProperty()); + dict?.ForEach(x => x.Value.UpdateProperty()); } /// <summary> @@ -150,6 +162,10 @@ public void UpdateCalcuProperty(HydroCalcuResult calcuResult) { var dict = GetVisualDict(); + if (dict == null || dict.Count < 1) + { + return; + } var allCalcuResultVisualDict = calcuResult?.GetVisualDict(); foreach (var visualKeyValue in dict) { -- Gitblit v1.9.3