From f34b7d74e30f1c902d87e0cae6bd02a02d991492 Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期一, 23 十二月 2024 21:32:29 +0800
Subject: [PATCH] 属性控件bug修复

---
 WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs |   43 ++++++++++++++++++++++++++++---------------
 1 files changed, 28 insertions(+), 15 deletions(-)

diff --git a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs
index 129cd5e..5cdc0f6 100644
--- a/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs
+++ b/WinFrmUI/HStation.WinFrmUI.Xhs.Core/03-simulation/01-property/SimulationPropertyCtrl.cs
@@ -2,6 +2,7 @@
 using HStation.WinFrmUI.PhartRelation;
 using HStation.WinFrmUI.Xhs;
 using Yw.Model;
+using Yw.WinFrmUI.HydroW3d;
 
 namespace HStation.WinFrmUI
 {
@@ -429,12 +430,16 @@
             {
                 case HydroCurve.Tank:
                     {
-                        if (long.TryParse(vm.DbId, out long longDbId))
+                        var tankViewModel = vm as HydroTankViewModel;
+                        var curveInfo = tankViewModel.HydroInfo.Curves?.Find(x => x.Code == tankViewModel.VolCurve);
+                        if (curveInfo != null)
                         {
-                            var tankViewModel = vm as HydroTankViewModel;
-                            var dlg = new AssetsTankCurveVOLViewDlg();
-                            dlg.SetBindingData(longDbId);
-                            dlg.ShowDialog();
+                            if (long.TryParse(curveInfo.DbId, out long longDbId))
+                            {
+                                var dlg = new AssetsTankCurveVOLViewDlg();
+                                dlg.SetBindingData(longDbId);
+                                dlg.ShowDialog();
+                            }
                         }
                     }
                     break;
@@ -473,24 +478,32 @@
 
                 case HydroCurve.Exchanger:
                     {
-                        if (long.TryParse(vm.DbId, out long longDbId))
+                        var exchangerViewModel = vm as HydroExchangerViewModel;
+                        var curveInfo = exchangerViewModel.HydroInfo.Curves?.Find(x => x.Code == exchangerViewModel.CurveQL);
+                        if (curveInfo != null)
                         {
-                            var exchangerViewModel = vm as HydroExchangerViewModel;
-                            var dlg = new AssetsExchangerCurveQLViewDlg();
-                            dlg.SetBindingData(longDbId);
-                            dlg.ShowDialog();
+                            if (long.TryParse(curveInfo.DbId, out long longDbId))
+                            {
+                                var dlg = new AssetsExchangerCurveQLViewDlg();
+                                dlg.SetBindingData(longDbId);
+                                dlg.ShowDialog();
+                            }
                         }
                     }
                     break;
 
                 case HydroCurve.Compressor:
                     {
-                        if (long.TryParse(vm.DbId, out long longDbId))
+                        var compressorViewModel = vm as HydroCompressorViewModel;
+                        var curveInfo = compressorViewModel.HydroInfo.Curves?.Find(x => x.Code == compressorViewModel.CurveQL);
+                        if (curveInfo != null)
                         {
-                            var compressorViewModel = vm as HydroCompressorViewModel;
-                            var dlg = new AssetsCompressorCurveQLViewDlg();
-                            dlg.SetBindingData(longDbId);
-                            dlg.ShowDialog();
+                            if (long.TryParse(curveInfo.DbId, out long longDbId))
+                            {
+                                var dlg = new AssetsCompressorCurveQLViewDlg();
+                                dlg.SetBindingData(longDbId);
+                                dlg.ShowDialog();
+                            }
                         }
                     }
                     break;

--
Gitblit v1.9.3