From e3ca589482a056449963e7bbbd77824ded3928bc Mon Sep 17 00:00:00 2001 From: duheng <2784771470@qq.com> Date: 星期五, 07 二月 2025 10:49:36 +0800 Subject: [PATCH] 过渡件匹配修改 --- WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/00-core/02-visual/03-vm/SimulationVisualVmListHelper.cs | 78 +++++++++++++++++++++++++++----------- 1 files changed, 55 insertions(+), 23 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..53de24a 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 @@ -1,5 +1,4 @@ 锘縰sing DevExpress.Mvvm.Native; -using Yw.EPAnet; using Yw.Model; namespace HStation.WinFrmUI @@ -12,40 +11,49 @@ /// <summary> /// /// </summary> - public SimulationVisualVmListHelper(SimulationVisualListHelper visualListHelper, SimulationCalcuResultHelper calcuResultHelper) + public SimulationVisualVmListHelper + ( + SimulationVisualListHelper visualListHelper, + SimulationCalcuResultHelper calcuResultHelper + ) { _visualListHelper = visualListHelper; + _visualListHelper.InitialEvent += () => Initial(); _calcuResultHelper = calcuResultHelper; + _calcuResultHelper.InitialEvent += () => UpdateCalcuProperty(); + 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> @@ -144,12 +156,32 @@ UpdateProperty(codes); } + //鏇存柊璁$畻灞炴�� + private void UpdateCalcuProperty() + { + var dict = GetVisualDict(); + if (dict == null || dict.Count < 1) + { + return; + } + var allCalcuResultVisualDict = _calcuResultHelper?.GetVisualDict(); + foreach (var visualKeyValue in dict) + { + var calcuVisualResult = allCalcuResultVisualDict?.GetValue(visualKeyValue.Key); + visualKeyValue.Value.UpdateCalcuProperty(calcuVisualResult); + } + } + /// <summary> /// 鏇存柊璁$畻灞炴�� /// </summary> 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