From db26311246d1c1cecadf4a22dc44ffa570ee40f2 Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期二, 07 一月 2025 11:35:55 +0800
Subject: [PATCH] 批量修改数据同步修改

---
 WinFrmUI/Yw.WinFrmUI.Hydro.Core/14-matching/00-core/HydroMatchingHelper.cs |  656 +++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 504 insertions(+), 152 deletions(-)

diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/14-matching/00-core/HydroMatchingHelper.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/14-matching/00-core/HydroMatchingHelper.cs
index 017c199..dea626a 100644
--- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/14-matching/00-core/HydroMatchingHelper.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/14-matching/00-core/HydroMatchingHelper.cs
@@ -2,6 +2,7 @@
 using System.Windows.Media.Imaging;
 using Yw.DAL.Basic;
 using Yw.EPAnet;
+using Yw.Hydro;
 using Yw.Model;
 
 namespace Yw.WinFrmUI
@@ -15,22 +16,9 @@
         #region 鍒涘缓
 
         /// <summary>
-        /// 鍒涘缓鑷姩鍖归厤ViewModel
-        /// </summary>
-        public static HydroMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, List<HydroCalcuVisualResult> allCalcuResultVisualList = null)
-        {
-            if (hydroInfo == null)
-            {
-                return default;
-            }
-            var allCalcuResultVisualDict = allCalcuResultVisualList?.ToDictionary(x => x.Code);
-            return Create(hydroInfo, allCalcuResultVisualDict);
-        }
-
-        /// <summary>
         /// 鍒涘缓
         /// </summary>
-        public static HydroMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo, Dictionary<string, HydroCalcuVisualResult> allCalcuResultVisualDict = null)
+        public static HydroMatchingViewModel Create(Yw.Model.HydroModelInfo hydroInfo)
         {
             if (hydroInfo == null)
             {
@@ -42,97 +30,103 @@
             #region 姘存睜
 
             var tanks = hydroInfo.GetAllTanks();
-            vm.Tanks = tanks?.Select(x => Create(x, hydroInfo, allCalcuResultVisualDict?.GetValue(x.Code) as HydroCalcuNodeResult)).ToList();
+            vm.Tanks = tanks?.Select(x => Create(x, hydroInfo)).ToList();
 
             #endregion
 
             #region 闂峰ご
 
-            vm.Bluntheads = hydroInfo.Bluntheads?.Select(x => Create(x, hydroInfo, allCalcuResultVisualDict?.GetValue(x.Code) as HydroCalcuNodeResult)).ToList();
+            vm.Bluntheads = hydroInfo.Bluntheads?.Select(x => Create(x, hydroInfo)).ToList();
 
             #endregion
 
             #region 寮ご
 
-            vm.Elbows = hydroInfo.Elbows?.Select(x => Create(x, hydroInfo, allCalcuResultVisualDict?.GetValue(x.Code) as HydroCalcuNodeResult)).ToList();
+            vm.Elbows = hydroInfo.Elbows?.Select(x => Create(x, hydroInfo)).ToList();
 
             #endregion
 
             #region 涓夐��
 
-            vm.Threelinks = hydroInfo.Threelinks?.Select(x => Create(x, hydroInfo, allCalcuResultVisualDict?.GetValue(x.Code) as HydroCalcuNodeResult)).ToList();
+            vm.Threelinks = hydroInfo.Threelinks?.Select(x => Create(x, hydroInfo)).ToList();
 
             #endregion
 
             #region 鍥涢��
 
-            vm.Fourlinks = hydroInfo.Fourlinks?.Select(x => Create(x, hydroInfo, allCalcuResultVisualDict?.GetValue(x.Code) as HydroCalcuNodeResult)).ToList();
+            vm.Fourlinks = hydroInfo.Fourlinks?.Select(x => Create(x, hydroInfo)).ToList();
 
             #endregion
 
             #region 鍠峰槾
 
-            vm.Nozzles = hydroInfo.Nozzles?.Select(x => Create(x, hydroInfo, allCalcuResultVisualDict?.GetValue(x.Code) as HydroCalcuNodeResult)).ToList();
+            vm.Nozzles = hydroInfo.Nozzles?.Select(x => Create(x, hydroInfo)).ToList();
 
             #endregion
 
             #region 娑堢伀鏍�
 
-            vm.Hydrants = hydroInfo.Hydrants?.Select(x => Create(x, hydroInfo, allCalcuResultVisualDict?.GetValue(x.Code) as HydroCalcuNodeResult)).ToList();
+            vm.Hydrants = hydroInfo.Hydrants?.Select(x => Create(x, hydroInfo)).ToList();
+
+            #endregion
+
+            #region 鍐峰嵈濉�
+
+            vm.Coolings = hydroInfo.Coolings?.Select(x => Create(x, hydroInfo)).ToList();
 
             #endregion
 
             #region 姘磋〃
 
-            vm.Meters = hydroInfo.Meters?.Select(x => Create(x, hydroInfo, allCalcuResultVisualDict?.GetValue(x.Code) as HydroCalcuNodeResult)).ToList();
+            vm.Meters = hydroInfo.Meters?.Select(x => Create(x, hydroInfo)).ToList();
 
             #endregion
 
             #region 娴侀噺璁�
 
-            vm.Flowmeters = hydroInfo.Flowmeters?.Select(x => Create(x, hydroInfo, allCalcuResultVisualDict?.GetValue(x.Code) as HydroCalcuFlowmeterResult)).ToList();
+            vm.Flowmeters = hydroInfo.Flowmeters?.Select(x => Create(x, hydroInfo)).ToList();
 
             #endregion
 
             #region 鍘嬪姏琛�
 
-            vm.Pressmeters = hydroInfo.Pressmeters?.Select(x => Create(x, hydroInfo, allCalcuResultVisualDict?.GetValue(x.Code) as HydroCalcuPressmeterResult)).ToList();
+            vm.Pressmeters = hydroInfo.Pressmeters?.Select(x => Create(x, hydroInfo)).ToList();
 
             #endregion
 
             #region 绠¢亾
 
-            vm.Pipes = hydroInfo.Pipes?.Select(x => Create(x, hydroInfo, allCalcuResultVisualDict?.GetValue(x.Code) as HydroCalcuLinkResult)).ToList();
+            vm.Pipes = hydroInfo.Pipes?.Select(x => Create(x, hydroInfo)).ToList();
 
             #endregion
 
             #region 杩囨浮浠�
 
-            vm.Translations = hydroInfo.Translations?.Select(x => Create(x, hydroInfo, allCalcuResultVisualDict?.GetValue(x.Code) as HydroCalcuLinkResult)).ToList();
+            vm.Translations = hydroInfo.Translations?.Select(x => Create(x, hydroInfo)).ToList();
 
             #endregion
 
             #region 姘存车
 
-            vm.Pumps = hydroInfo.Pumps?.Select(x => Create(x, hydroInfo, allCalcuResultVisualDict?.GetValue(x.Code) as HydroCalcuPumpResult)).ToList();
+            vm.Pumps = hydroInfo.Pumps?.Select(x => Create(x, hydroInfo)).ToList();
 
             #endregion
 
             #region 闃�闂�
 
-            vm.Valves = hydroInfo.Valves?.Select(x => Create(x, hydroInfo, allCalcuResultVisualDict?.GetValue(x.Code) as HydroCalcuLinkResult)).ToList();
+            vm.Valves = hydroInfo.Valves?.Select(x => Create(x, hydroInfo)).ToList();
 
             #endregion
 
             #region 鎹㈢儹鍣�
 
-            vm.Exchangers = hydroInfo.Exchangers?.Select(x => Create(x, hydroInfo, allCalcuResultVisualDict?.GetValue(x.Code) as HydroCalcuLinkResult)).ToList();
+            vm.Exchangers = hydroInfo.Exchangers?.Select(x => Create(x, hydroInfo)).ToList();
 
             #endregion
 
             #region 鍘嬬缉鏈�
 
-            vm.Compressors = hydroInfo.Compressors?.Select(x => Create(x, hydroInfo, allCalcuResultVisualDict?.GetValue(x.Code) as HydroCalcuLinkResult)).ToList();
+            vm.Compressors = hydroInfo.Compressors?.Select(x => Create(x, hydroInfo)).ToList();
 
             #endregion
 
@@ -144,9 +138,9 @@
         /// <summary>
         /// 鍒涘缓姘存睜鑷姩鍖归厤ViewModel
         /// </summary>
-        public static HydroTankMatchingViewModel Create(HydroTankInfo parterInfo, HydroModelInfo hydroInfo, HydroCalcuNodeResult calcuResult = null)
+        public static HydroTankMatchingViewModel Create(HydroTankInfo visualInfo, HydroModelInfo hydroInfo)
         {
-            if (parterInfo == null)
+            if (visualInfo == null)
             {
                 return default;
             }
@@ -154,19 +148,19 @@
             {
                 return default;
             }
-            return new HydroTankMatchingViewModel(parterInfo, hydroInfo, calcuResult);
+            return new HydroTankMatchingViewModel(visualInfo, hydroInfo);
         }
 
         /// <summary>
         /// 鍒涘缓姘存睜鑷姩鍖归厤ViewModel
         /// </summary>
-        public static HydroTankMatchingViewModel Create(HydroTankViewModel parterViewModel)
+        public static HydroTankMatchingViewModel Create(HydroTankViewModel visualViewModel)
         {
-            if (parterViewModel == null)
+            if (visualViewModel == null)
             {
                 return default;
             }
-            return new HydroTankMatchingViewModel(parterViewModel);
+            return new HydroTankMatchingViewModel(visualViewModel);
         }
 
         #endregion
@@ -176,9 +170,9 @@
         /// <summary>
         /// 鍒涘缓闂峰ご鑷姩鍖归厤ViewModel
         /// </summary>
-        public static HydroBluntheadMatchingViewModel Create(HydroBluntheadInfo parterInfo, HydroModelInfo hydroInfo, HydroCalcuNodeResult calcuResult = null)
+        public static HydroBluntheadMatchingViewModel Create(HydroBluntheadInfo visualInfo, HydroModelInfo hydroInfo)
         {
-            if (parterInfo == null)
+            if (visualInfo == null)
             {
                 return default;
             }
@@ -186,19 +180,19 @@
             {
                 return default;
             }
-            return new HydroBluntheadMatchingViewModel(parterInfo, hydroInfo, calcuResult);
+            return new HydroBluntheadMatchingViewModel(visualInfo, hydroInfo);
         }
 
         /// <summary>
         /// 鍒涘缓闂峰ご鑷姩鍖归厤ViewModel
         /// </summary>
-        public static HydroBluntheadMatchingViewModel Create(HydroBluntheadViewModel parterViewModel)
+        public static HydroBluntheadMatchingViewModel Create(HydroBluntheadViewModel visualViewModel)
         {
-            if (parterViewModel == null)
+            if (visualViewModel == null)
             {
                 return default;
             }
-            return new HydroBluntheadMatchingViewModel(parterViewModel);
+            return new HydroBluntheadMatchingViewModel(visualViewModel);
         }
 
         #endregion
@@ -208,9 +202,9 @@
         /// <summary>
         /// 鍒涘缓寮ご鑷姩鍖归厤ViewModel
         /// </summary>
-        public static HydroElbowMatchingViewModel Create(HydroElbowInfo parterInfo, HydroModelInfo hydroInfo, HydroCalcuNodeResult calcuResult = null)
+        public static HydroElbowMatchingViewModel Create(HydroElbowInfo visualInfo, HydroModelInfo hydroInfo)
         {
-            if (parterInfo == null)
+            if (visualInfo == null)
             {
                 return default;
             }
@@ -218,19 +212,19 @@
             {
                 return default;
             }
-            return new HydroElbowMatchingViewModel(parterInfo, hydroInfo, calcuResult);
+            return new HydroElbowMatchingViewModel(visualInfo, hydroInfo);
         }
 
         /// <summary>
         /// 鍒涘缓寮ご鑷姩鍖归厤ViewModel
         /// </summary>
-        public static HydroElbowMatchingViewModel Create(HydroElbowViewModel parterViewModel)
+        public static HydroElbowMatchingViewModel Create(HydroElbowViewModel visualViewModel)
         {
-            if (parterViewModel == null)
+            if (visualViewModel == null)
             {
                 return default;
             }
-            return new HydroElbowMatchingViewModel(parterViewModel);
+            return new HydroElbowMatchingViewModel(visualViewModel);
         }
 
         #endregion
@@ -240,9 +234,9 @@
         /// <summary>
         /// 鍒涘缓涓夐�氳嚜鍔ㄥ尮閰峍iewModel
         /// </summary>
-        public static HydroThreelinkMatchingViewModel Create(HydroThreelinkInfo parterInfo, HydroModelInfo hydroInfo, HydroCalcuNodeResult calcuResult = null)
+        public static HydroThreelinkMatchingViewModel Create(HydroThreelinkInfo visualInfo, HydroModelInfo hydroInfo)
         {
-            if (parterInfo == null)
+            if (visualInfo == null)
             {
                 return default;
             }
@@ -250,19 +244,19 @@
             {
                 return default;
             }
-            return new HydroThreelinkMatchingViewModel(parterInfo, hydroInfo, calcuResult);
+            return new HydroThreelinkMatchingViewModel(visualInfo, hydroInfo);
         }
 
         /// <summary>
         /// 鍒涘缓涓夐�氳嚜鍔ㄥ尮閰峍iewModel
         /// </summary>
-        public static HydroThreelinkMatchingViewModel Create(HydroThreelinkViewModel parterViewModel)
+        public static HydroThreelinkMatchingViewModel Create(HydroThreelinkViewModel visualViewModel)
         {
-            if (parterViewModel == null)
+            if (visualViewModel == null)
             {
                 return default;
             }
-            return new HydroThreelinkMatchingViewModel(parterViewModel);
+            return new HydroThreelinkMatchingViewModel(visualViewModel);
         }
 
         #endregion
@@ -272,9 +266,9 @@
         /// <summary>
         /// 鍒涘缓鍥涢�氳嚜鍔ㄥ尮閰峍iewModel
         /// </summary>
-        public static HydroFourlinkMatchingViewModel Create(HydroFourlinkInfo parterInfo, HydroModelInfo hydroInfo, HydroCalcuNodeResult calcuResult = null)
+        public static HydroFourlinkMatchingViewModel Create(HydroFourlinkInfo visualInfo, HydroModelInfo hydroInfo)
         {
-            if (parterInfo == null)
+            if (visualInfo == null)
             {
                 return default;
             }
@@ -282,19 +276,19 @@
             {
                 return default;
             }
-            return new HydroFourlinkMatchingViewModel(parterInfo, hydroInfo, calcuResult);
+            return new HydroFourlinkMatchingViewModel(visualInfo, hydroInfo);
         }
 
         /// <summary>
         /// 鍒涘缓鍥涢�氳嚜鍔ㄥ尮閰峍iewModel
         /// </summary>
-        public static HydroFourlinkMatchingViewModel Create(HydroFourlinkViewModel parterViewModel)
+        public static HydroFourlinkMatchingViewModel Create(HydroFourlinkViewModel visualViewModel)
         {
-            if (parterViewModel == null)
+            if (visualViewModel == null)
             {
                 return default;
             }
-            return new HydroFourlinkMatchingViewModel(parterViewModel);
+            return new HydroFourlinkMatchingViewModel(visualViewModel);
         }
 
         #endregion
@@ -304,9 +298,9 @@
         /// <summary>
         /// 鍒涘缓鍠峰ご鑷姩鍖归厤ViewModel
         /// </summary>
-        public static HydroNozzleMatchingViewModel Create(HydroNozzleInfo parterInfo, HydroModelInfo hydroInfo, HydroCalcuNodeResult calcuResult = null)
+        public static HydroNozzleMatchingViewModel Create(HydroNozzleInfo visualInfo, HydroModelInfo hydroInfo)
         {
-            if (parterInfo == null)
+            if (visualInfo == null)
             {
                 return default;
             }
@@ -314,19 +308,19 @@
             {
                 return default;
             }
-            return new HydroNozzleMatchingViewModel(parterInfo, hydroInfo, calcuResult);
+            return new HydroNozzleMatchingViewModel(visualInfo, hydroInfo);
         }
 
         /// <summary>
         /// 鍒涘缓鍠峰ご鑷姩鍖归厤ViewModel
         /// </summary>
-        public static HydroNozzleMatchingViewModel Create(HydroNozzleViewModel parterViewModel)
+        public static HydroNozzleMatchingViewModel Create(HydroNozzleViewModel visualViewModel)
         {
-            if (parterViewModel == null)
+            if (visualViewModel == null)
             {
                 return default;
             }
-            return new HydroNozzleMatchingViewModel(parterViewModel);
+            return new HydroNozzleMatchingViewModel(visualViewModel);
         }
 
         #endregion
@@ -336,9 +330,9 @@
         /// <summary>
         /// 鍒涘缓娑堢伀鏍撹嚜鍔ㄥ尮閰峍iewModel
         /// </summary>
-        public static HydroHydrantMatchingViewModel Create(HydroHydrantInfo parterInfo, HydroModelInfo hydroInfo, HydroCalcuNodeResult calcuResult = null)
+        public static HydroHydrantMatchingViewModel Create(HydroHydrantInfo visualInfo, HydroModelInfo hydroInfo)
         {
-            if (parterInfo == null)
+            if (visualInfo == null)
             {
                 return default;
             }
@@ -346,19 +340,51 @@
             {
                 return default;
             }
-            return new HydroHydrantMatchingViewModel(parterInfo, hydroInfo, calcuResult);
+            return new HydroHydrantMatchingViewModel(visualInfo, hydroInfo);
         }
 
         /// <summary>
         /// 鍒涘缓娑堢伀鏍撹嚜鍔ㄥ尮閰峍iewModel
         /// </summary>
-        public static HydroHydrantMatchingViewModel Create(HydroHydrantViewModel parterViewModel)
+        public static HydroHydrantMatchingViewModel Create(HydroHydrantViewModel visualViewModel)
         {
-            if (parterViewModel == null)
+            if (visualViewModel == null)
             {
                 return default;
             }
-            return new HydroHydrantMatchingViewModel(parterViewModel);
+            return new HydroHydrantMatchingViewModel(visualViewModel);
+        }
+
+        #endregion
+
+        #region 鍐峰嵈濉�
+
+        /// <summary>
+        /// 鍒涘缓鍐峰嵈濉旇嚜鍔ㄥ尮閰峍iewModel
+        /// </summary>
+        public static HydroCoolingMatchingViewModel Create(HydroCoolingInfo visualInfo, HydroModelInfo hydroInfo)
+        {
+            if (visualInfo == null)
+            {
+                return default;
+            }
+            if (hydroInfo == null)
+            {
+                return default;
+            }
+            return new HydroCoolingMatchingViewModel(visualInfo, hydroInfo);
+        }
+
+        /// <summary>
+        /// 鍒涘缓鍐峰嵈濉旇嚜鍔ㄥ尮閰峍iewModel
+        /// </summary>
+        public static HydroCoolingMatchingViewModel Create(HydroCoolingViewModel visualViewModel)
+        {
+            if (visualViewModel == null)
+            {
+                return default;
+            }
+            return new HydroCoolingMatchingViewModel(visualViewModel);
         }
 
         #endregion
@@ -368,9 +394,9 @@
         /// <summary>
         /// 鍒涘缓姘磋〃鑷姩鍖归厤ViewModel
         /// </summary>
-        public static HydroMeterMatchingViewModel Create(HydroMeterInfo parterInfo, HydroModelInfo hydroInfo, HydroCalcuNodeResult calcuResult = null)
+        public static HydroMeterMatchingViewModel Create(HydroMeterInfo visualInfo, HydroModelInfo hydroInfo)
         {
-            if (parterInfo == null)
+            if (visualInfo == null)
             {
                 return default;
             }
@@ -378,19 +404,19 @@
             {
                 return default;
             }
-            return new HydroMeterMatchingViewModel(parterInfo, hydroInfo, calcuResult);
+            return new HydroMeterMatchingViewModel(visualInfo, hydroInfo);
         }
 
         /// <summary>
         /// 鍒涘缓姘磋〃鑷姩鍖归厤ViewModel
         /// </summary>
-        public static HydroMeterMatchingViewModel Create(HydroMeterViewModel parterViewModel)
+        public static HydroMeterMatchingViewModel Create(HydroMeterViewModel visualViewModel)
         {
-            if (parterViewModel == null)
+            if (visualViewModel == null)
             {
                 return default;
             }
-            return new HydroMeterMatchingViewModel(parterViewModel);
+            return new HydroMeterMatchingViewModel(visualViewModel);
         }
 
         #endregion
@@ -400,9 +426,9 @@
         /// <summary>
         /// 鍒涘缓娴侀噺璁¤嚜鍔ㄥ尮閰峍iewModel
         /// </summary>
-        public static HydroFlowmeterMatchingViewModel Create(HydroFlowmeterInfo parterInfo, HydroModelInfo hydroInfo, HydroCalcuFlowmeterResult calcuResult = null)
+        public static HydroFlowmeterMatchingViewModel Create(HydroFlowmeterInfo visualInfo, HydroModelInfo hydroInfo)
         {
-            if (parterInfo == null)
+            if (visualInfo == null)
             {
                 return default;
             }
@@ -410,19 +436,19 @@
             {
                 return default;
             }
-            return new HydroFlowmeterMatchingViewModel(parterInfo, hydroInfo, calcuResult);
+            return new HydroFlowmeterMatchingViewModel(visualInfo, hydroInfo);
         }
 
         /// <summary>
         /// 鍒涘缓娴侀噺璁¤嚜鍔ㄥ尮閰峍iewModel
         /// </summary>
-        public static HydroFlowmeterMatchingViewModel Create(HydroFlowmeterViewModel parterViewModel)
+        public static HydroFlowmeterMatchingViewModel Create(HydroFlowmeterViewModel visualViewModel)
         {
-            if (parterViewModel == null)
+            if (visualViewModel == null)
             {
                 return default;
             }
-            return new HydroFlowmeterMatchingViewModel(parterViewModel);
+            return new HydroFlowmeterMatchingViewModel(visualViewModel);
         }
 
         #endregion
@@ -432,9 +458,9 @@
         /// <summary>
         /// 鍒涘缓鍘嬪姏琛ㄨ嚜鍔ㄥ尮閰峍iewModel
         /// </summary>
-        public static HydroPressmeterMatchingViewModel Create(HydroPressmeterInfo parterInfo, HydroModelInfo hydroInfo, HydroCalcuPressmeterResult calcuResult = null)
+        public static HydroPressmeterMatchingViewModel Create(HydroPressmeterInfo visualInfo, HydroModelInfo hydroInfo)
         {
-            if (parterInfo == null)
+            if (visualInfo == null)
             {
                 return default;
             }
@@ -442,19 +468,19 @@
             {
                 return default;
             }
-            return new HydroPressmeterMatchingViewModel(parterInfo, hydroInfo, calcuResult);
+            return new HydroPressmeterMatchingViewModel(visualInfo, hydroInfo);
         }
 
         /// <summary>
         /// 鍒涘缓鍘嬪姏琛ㄨ嚜鍔ㄥ尮閰峍iewModel
         /// </summary>
-        public static HydroPressmeterMatchingViewModel Create(HydroPressmeterViewModel parterViewModel)
+        public static HydroPressmeterMatchingViewModel Create(HydroPressmeterViewModel visualViewModel)
         {
-            if (parterViewModel == null)
+            if (visualViewModel == null)
             {
                 return default;
             }
-            return new HydroPressmeterMatchingViewModel(parterViewModel);
+            return new HydroPressmeterMatchingViewModel(visualViewModel);
         }
 
         #endregion
@@ -464,9 +490,9 @@
         /// <summary>
         /// 鍒涘缓绠¢亾鑷姩鍖归厤ViewModel
         /// </summary>
-        public static HydroPipeMatchingViewModel Create(HydroPipeInfo pipeInfo, HydroModelInfo hydroInfo, HydroCalcuLinkResult calcuResult = null)
+        public static HydroPipeMatchingViewModel Create(HydroPipeInfo visualInfo, HydroModelInfo hydroInfo)
         {
-            if (pipeInfo == null)
+            if (visualInfo == null)
             {
                 return default;
             }
@@ -474,19 +500,19 @@
             {
                 return default;
             }
-            return new HydroPipeMatchingViewModel(pipeInfo, hydroInfo, calcuResult);
+            return new HydroPipeMatchingViewModel(visualInfo, hydroInfo);
         }
 
         /// <summary>
         /// 鍒涘缓绠¢亾鑷姩鍖归厤ViewModel
         /// </summary>
-        public static HydroPipeMatchingViewModel Create(HydroPipeViewModel pipeViewModel)
+        public static HydroPipeMatchingViewModel Create(HydroPipeViewModel visualViewModel)
         {
-            if (pipeViewModel == null)
+            if (visualViewModel == null)
             {
                 return default;
             }
-            return new HydroPipeMatchingViewModel(pipeViewModel);
+            return new HydroPipeMatchingViewModel(visualViewModel);
         }
 
         #endregion
@@ -496,9 +522,9 @@
         /// <summary>
         /// 鍒涘缓杩囨浮浠惰嚜鍔ㄥ尮閰峍iewModel
         /// </summary>
-        public static HydroTranslationMatchingViewModel Create(HydroTranslationInfo parterInfo, HydroModelInfo hydroInfo, HydroCalcuLinkResult calcuResult = null)
+        public static HydroTranslationMatchingViewModel Create(HydroTranslationInfo visualInfo, HydroModelInfo hydroInfo)
         {
-            if (parterInfo == null)
+            if (visualInfo == null)
             {
                 return default;
             }
@@ -506,19 +532,19 @@
             {
                 return default;
             }
-            return new HydroTranslationMatchingViewModel(parterInfo, hydroInfo, calcuResult);
+            return new HydroTranslationMatchingViewModel(visualInfo, hydroInfo);
         }
 
         /// <summary>
         /// 鍒涘缓杩囨浮浠惰嚜鍔ㄥ尮閰峍iewModel
         /// </summary>
-        public static HydroTranslationMatchingViewModel Create(HydroTranslationViewModel parterViewModel)
+        public static HydroTranslationMatchingViewModel Create(HydroTranslationViewModel visualViewModel)
         {
-            if (parterViewModel == null)
+            if (visualViewModel == null)
             {
                 return default;
             }
-            return new HydroTranslationMatchingViewModel(parterViewModel);
+            return new HydroTranslationMatchingViewModel(visualViewModel);
         }
 
         #endregion
@@ -528,9 +554,9 @@
         /// <summary>
         /// 鍒涘缓姘存车鑷姩鍖归厤ViewModel
         /// </summary>
-        public static HydroPumpMatchingViewModel Create(HydroPumpInfo pumpInfo, HydroModelInfo hydroInfo, HydroCalcuPumpResult calcuResult = null)
+        public static HydroPumpMatchingViewModel Create(HydroPumpInfo visualInfo, HydroModelInfo hydroInfo)
         {
-            if (pumpInfo == null)
+            if (visualInfo == null)
             {
                 return default;
             }
@@ -538,19 +564,19 @@
             {
                 return default;
             }
-            return new HydroPumpMatchingViewModel(pumpInfo, hydroInfo, calcuResult);
+            return new HydroPumpMatchingViewModel(visualInfo, hydroInfo);
         }
 
         /// <summary>
         /// 鍒涘缓姘存车鑷姩鍖归厤ViewModel
         /// </summary>
-        public static HydroPumpMatchingViewModel Create(HydroPumpViewModel pumpViewModel)
+        public static HydroPumpMatchingViewModel Create(HydroPumpViewModel visualViewModel)
         {
-            if (pumpViewModel == null)
+            if (visualViewModel == null)
             {
                 return default;
             }
-            return new HydroPumpMatchingViewModel(pumpViewModel);
+            return new HydroPumpMatchingViewModel(visualViewModel);
         }
 
         #endregion
@@ -560,9 +586,9 @@
         /// <summary>
         /// 鍒涘缓闃�闂ㄨ嚜鍔ㄥ尮閰峍iewModel
         /// </summary>
-        public static HydroValveMatchingViewModel Create(HydroValveInfo valveInfo, HydroModelInfo hydroInfo, HydroCalcuLinkResult calcuResult = null)
+        public static HydroValveMatchingViewModel Create(HydroValveInfo visualInfo, HydroModelInfo hydroInfo)
         {
-            if (valveInfo == null)
+            if (visualInfo == null)
             {
                 return default;
             }
@@ -570,19 +596,19 @@
             {
                 return default;
             }
-            return new HydroValveMatchingViewModel(valveInfo, hydroInfo, calcuResult);
+            return new HydroValveMatchingViewModel(visualInfo, hydroInfo);
         }
 
         /// <summary>
         /// 鍒涘缓闃�闂ㄨ嚜鍔ㄥ尮閰峍iewModel
         /// </summary>
-        public static HydroValveMatchingViewModel Create(HydroValveViewModel valveViewModel)
+        public static HydroValveMatchingViewModel Create(HydroValveViewModel visualViewModel)
         {
-            if (valveViewModel == null)
+            if (visualViewModel == null)
             {
                 return default;
             }
-            return new HydroValveMatchingViewModel(valveViewModel);
+            return new HydroValveMatchingViewModel(visualViewModel);
         }
 
         #endregion
@@ -592,9 +618,9 @@
         /// <summary>
         /// 鍒涘缓鎹㈢儹鍣ㄨ嚜鍔ㄥ尮閰峍iewModel
         /// </summary>
-        public static HydroExchangerMatchingViewModel Create(HydroExchangerInfo parterInfo, HydroModelInfo hydroInfo, HydroCalcuLinkResult calcuResult = null)
+        public static HydroExchangerMatchingViewModel Create(HydroExchangerInfo visualInfo, HydroModelInfo hydroInfo)
         {
-            if (parterInfo == null)
+            if (visualInfo == null)
             {
                 return default;
             }
@@ -602,19 +628,19 @@
             {
                 return default;
             }
-            return new HydroExchangerMatchingViewModel(parterInfo, hydroInfo, calcuResult);
+            return new HydroExchangerMatchingViewModel(visualInfo, hydroInfo);
         }
 
         /// <summary>
         /// 鍒涘缓鎹㈢儹鍣ㄨ嚜鍔ㄥ尮閰峍iewModel
         /// </summary>
-        public static HydroExchangerMatchingViewModel Create(HydroExchangerViewModel parterViewModel)
+        public static HydroExchangerMatchingViewModel Create(HydroExchangerViewModel visualViewModel)
         {
-            if (parterViewModel == null)
+            if (visualViewModel == null)
             {
                 return default;
             }
-            return new HydroExchangerMatchingViewModel(parterViewModel);
+            return new HydroExchangerMatchingViewModel(visualViewModel);
         }
 
         #endregion
@@ -624,9 +650,9 @@
         /// <summary>
         /// 鍒涘缓鍘嬬缉鏈鸿嚜鍔ㄥ尮閰峍iewModel
         /// </summary>
-        public static HydroCompressorMatchingViewModel Create(HydroCompressorInfo parterInfo, HydroModelInfo hydroInfo, HydroCalcuLinkResult calcuResult = null)
+        public static HydroCompressorMatchingViewModel Create(HydroCompressorInfo visualInfo, HydroModelInfo hydroInfo)
         {
-            if (parterInfo == null)
+            if (visualInfo == null)
             {
                 return default;
             }
@@ -634,19 +660,19 @@
             {
                 return default;
             }
-            return new HydroCompressorMatchingViewModel(parterInfo, hydroInfo, calcuResult);
+            return new HydroCompressorMatchingViewModel(visualInfo, hydroInfo);
         }
 
         /// <summary>
         /// 鍒涘缓鍘嬬缉鏈鸿嚜鍔ㄥ尮閰峍iewModel
         /// </summary>
-        public static HydroCompressorMatchingViewModel Create(HydroCompressorViewModel parterViewModel)
+        public static HydroCompressorMatchingViewModel Create(HydroCompressorViewModel visualViewModel)
         {
-            if (parterViewModel == null)
+            if (visualViewModel == null)
             {
                 return default;
             }
-            return new HydroCompressorMatchingViewModel(parterViewModel);
+            return new HydroCompressorMatchingViewModel(visualViewModel);
         }
 
         #endregion
@@ -806,6 +832,25 @@
 
             #endregion
 
+            #region 娑堢伀鏍�
+
+            if (hydroInfo.Coolings != null && hydroInfo.Coolings.Count > 0)
+            {
+                if (matchingInfo.Coolings != null && matchingInfo.Coolings.Count > 0)
+                {
+                    hydroInfo.Coolings.ForEach(x =>
+                    {
+                        var matching = matchingInfo.Coolings.Find(t => t.Code == x.Code);
+                        if (Apply(hydroInfo, x, matching))
+                        {
+                            result = true;
+                        }
+                    });
+                }
+            }
+
+            #endregion
+
             #region 姘磋〃
 
             if (hydroInfo.Meters != null && hydroInfo.Meters.Count > 0)
@@ -901,6 +946,25 @@
 
             #endregion
 
+            #region 姘存车
+
+            if (hydroInfo.Pumps != null && hydroInfo.Pumps.Count > 0)
+            {
+                if (matchingInfo.Pumps != null && matchingInfo.Pumps.Count > 0)
+                {
+                    hydroInfo.Pumps.ForEach(x =>
+                    {
+                        var matching = matchingInfo.Pumps.Find(t => t.Code == x.Code);
+                        if (Apply(hydroInfo, x, matching))
+                        {
+                            result = true;
+                        }
+                    });
+                }
+            }
+
+            #endregion
+
             #region 闃�闂�
 
             if (hydroInfo.Valves != null && hydroInfo.Valves.Count > 0)
@@ -966,7 +1030,30 @@
         /// <summary>
         /// 搴旂敤
         /// </summary>
-        public static bool Apply(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroTankInfo visual, HydroTankMatchingViewModel matching)
+        public static bool Apply
+            (
+                HydroTankViewModel visualViewModel,
+                HydroTankMatchingViewModel matching,
+                HydroPropStatusHelper propStatusHelper = null,
+                HydroChangeHelper changeHelper = null
+            )
+        {
+            var bol = Apply(visualViewModel.HydroInfo, visualViewModel.Vmo, matching, propStatusHelper, changeHelper);
+            visualViewModel.UpdateProperty();
+            return bol;
+        }
+
+        /// <summary>
+        /// 搴旂敤
+        /// </summary>
+        public static bool Apply
+            (
+                Yw.Model.HydroModelInfo hydroInfo,
+                Yw.Model.HydroTankInfo visual,
+                HydroTankMatchingViewModel matching,
+                HydroPropStatusHelper propStatusHelper = null,
+                HydroChangeHelper changeHelper = null
+            )
         {
             if (hydroInfo == null)
             {
@@ -980,51 +1067,65 @@
             {
                 return false;
             }
-            visual.Name = matching.Name;
-            visual.DbLocked = matching.DbLocked;
-            visual.DbId = matching.DbId;
-            visual.ModelType = matching.ModelType;
-            visual.MinLevel = matching.MinLevel;
-            visual.MaxLevel = matching.MaxLevel;
-            visual.DN = matching.DN;
-            visual.MinVol = matching.MinVol;
-            visual.OverFlow = matching.OverFlow;
+            //visual.Name = matching.Name;
+            //visual.DbLocked = matching.DbLocked;
+            //visual.DbId = matching.DbId;
+            //visual.ModelType = matching.ModelType;
+            //visual.MinLevel = matching.MinLevel;
+            //visual.MaxLevel = matching.MaxLevel;
+            //visual.DN = matching.DN;
+            //visual.MinVol = matching.MinVol;
+            //visual.OverFlow = matching.OverFlow;
 
             bool result = false;
             if (!visual.DbLocked)
             {
                 if (!string.IsNullOrEmpty(matching.MatchingModelType))
                 {
+                    propStatusHelper?.UpdatePropStatus(visual.Code, nameof(visual.ModelType), ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃浜у搧閰嶇疆鍖归厤淇");
+                    changeHelper?.Append(visual, eChangeType.Update);
                     visual.ModelType = matching.MatchingModelType;
                     result = true;
                 }
                 if (!string.IsNullOrEmpty(matching.MatchingDbId))
                 {
+                    propStatusHelper?.UpdatePropStatus(visual.Code, nameof(visual.DbId), ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃浜у搧閰嶇疆鍖归厤淇");
+                    changeHelper?.Append(visual, eChangeType.Update);
                     visual.DbId = matching.MatchingDbId;
                     result = true;
                 }
                 if (matching.MatchingMinLevel.HasValue)
                 {
+                    propStatusHelper?.UpdatePropStatus(visual.Code, nameof(visual.MinLevel), ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃浜у搧閰嶇疆鍖归厤淇");
+                    changeHelper?.Append(visual, eChangeType.Update);
                     visual.MinLevel = matching.MatchingMinLevel.Value;
                     result = true;
                 }
                 if (matching.MatchingMaxLevel.HasValue)
                 {
+                    propStatusHelper?.UpdatePropStatus(visual.Code, nameof(visual.MaxLevel), ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃浜у搧閰嶇疆鍖归厤淇");
+                    changeHelper?.Append(visual, eChangeType.Update);
                     visual.MaxLevel = matching.MatchingMaxLevel.Value;
                     result = true;
                 }
                 if (matching.MatchingDN.HasValue)
                 {
+                    propStatusHelper?.UpdatePropStatus(visual.Code, nameof(visual.DN), ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃浜у搧閰嶇疆鍖归厤淇");
+                    changeHelper?.Append(visual, eChangeType.Update);
                     visual.DN = matching.MatchingDN.Value;
                     result = true;
                 }
                 if (matching.MatchingMinVol.HasValue)
                 {
+                    propStatusHelper?.UpdatePropStatus(visual.Code, nameof(visual.MinVol), ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃浜у搧閰嶇疆鍖归厤淇");
+                    changeHelper?.Append(visual, eChangeType.Update);
                     visual.MinVol = matching.MatchingMinVol.Value;
                     result = true;
                 }
                 if (matching.MatchingOverFlow.HasValue)
                 {
+                    propStatusHelper?.UpdatePropStatus(visual.Code, nameof(visual.OverFlow), ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃浜у搧閰嶇疆鍖归厤淇");
+                    changeHelper?.Append(visual, eChangeType.Update);
                     visual.OverFlow = matching.MatchingOverFlow.Value;
                     result = true;
                 }
@@ -1040,7 +1141,7 @@
                         curvevol.ModelType = string.Empty;
                         curvevol.DbLocked = false;
                         curvevol.DbId = matching.MatchingCurveDbId;
-                        curvevol.CurveType = Yw.WinFrmUI.HydroCurve.TankVol;
+                        curvevol.CurveType = Yw.WinFrmUI.HydroCurveType.CurveVol;
                         curvevol.CurveData = matching.MatchingVolCurve?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList();
                         if (hydroInfo.Curves == null)
                         {
@@ -1048,6 +1149,7 @@
                         }
                         hydroInfo.Curves.Add(curvevol);
                         visual.VolCurve = curvevol.Code;
+                        changeHelper?.Append(curvevol, eChangeType.Add);
                         result = true;
                     }
                     else
@@ -1056,7 +1158,22 @@
                         {
                             curvevol.DbId = matching.MatchingCurveDbId;
                             curvevol.CurveData = matching.MatchingVolCurve?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList();
+                            changeHelper?.Append(curvevol, eChangeType.Update);
                             result = true;
+                        }
+                    }
+                    propStatusHelper?.UpdatePropStatus(visual.Code, nameof(visual.VolCurve), ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}閫氳繃浜у搧閰嶇疆鍖归厤淇");
+                }
+                else
+                {
+                    if (!string.IsNullOrEmpty(visual.VolCurve))
+                    {
+                        var volCurve = hydroInfo?.Curves?.Find(x => x.Code == visual.VolCurve);
+                        if (volCurve != null)
+                        {
+                            hydroInfo.Curves?.RemoveAll(x => x.Code == visual.VolCurve);
+                            visual.VolCurve = string.Empty;
+                            changeHelper?.Append(volCurve, eChangeType.Remove);
                         }
                     }
                 }
@@ -1067,6 +1184,16 @@
         #endregion
 
         #region 闂峰ご
+
+        /// <summary>
+        /// 搴旂敤
+        /// </summary>
+        public static bool Apply(HydroBluntheadViewModel visualViewModel, HydroBluntheadMatchingViewModel matching)
+        {
+            var bol = Apply(visualViewModel.HydroInfo, visualViewModel.Vmo, matching);
+            visualViewModel.UpdateProperty();
+            return bol;
+        }
 
         /// <summary>
         /// 搴旂敤
@@ -1085,13 +1212,13 @@
             {
                 return false;
             }
-            visual.Name = matching.Name;
-            visual.DbLocked = matching.DbLocked;
-            visual.DbId = matching.DbId;
-            visual.ModelType = matching.ModelType;
-            visual.Caliber = matching.Caliber;
-            visual.Material = matching.Material;
-            visual.MinorLoss = matching.MinorLoss;
+            //visual.Name = matching.Name;
+            //visual.DbLocked = matching.DbLocked;
+            //visual.DbId = matching.DbId;
+            //visual.ModelType = matching.ModelType;
+            //visual.Caliber = matching.Caliber;
+            //visual.Material = matching.Material;
+            //visual.MinorLoss = matching.MinorLoss;
 
             bool result = false;
             if (!visual.DbLocked)
@@ -1128,6 +1255,16 @@
         #endregion
 
         #region 寮ご
+
+        /// <summary>
+        /// 搴旂敤
+        /// </summary>
+        public static bool Apply(HydroElbowViewModel visualViewModel, HydroElbowMatchingViewModel matching)
+        {
+            var bol = Apply(visualViewModel.HydroInfo, visualViewModel.Vmo, matching);
+            visualViewModel.UpdateProperty();
+            return bol;
+        }
 
         /// <summary>
         /// 搴旂敤
@@ -1208,6 +1345,16 @@
         /// <summary>
         /// 搴旂敤
         /// </summary>
+        public static bool Apply(HydroThreelinkViewModel visualViewModel, HydroThreelinkMatchingViewModel matching)
+        {
+            var bol = Apply(visualViewModel.HydroInfo, visualViewModel.Vmo, matching);
+            visualViewModel.UpdateProperty();
+            return bol;
+        }
+
+        /// <summary>
+        /// 搴旂敤
+        /// </summary>
         public static bool Apply(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroThreelinkInfo visual, HydroThreelinkMatchingViewModel matching)
         {
             if (hydroInfo == null)
@@ -1281,6 +1428,16 @@
         /// <summary>
         /// 搴旂敤
         /// </summary>
+        public static bool Apply(HydroFourlinkViewModel visualViewModel, HydroFourlinkMatchingViewModel matching)
+        {
+            var bol = Apply(visualViewModel.HydroInfo, visualViewModel.Vmo, matching);
+            visualViewModel.UpdateProperty();
+            return bol;
+        }
+
+        /// <summary>
+        /// 搴旂敤
+        /// </summary>
         public static bool Apply(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroFourlinkInfo visual, HydroFourlinkMatchingViewModel matching)
         {
             if (hydroInfo == null)
@@ -1338,6 +1495,16 @@
         #endregion
 
         #region 鍠峰ご
+
+        /// <summary>
+        /// 搴旂敤
+        /// </summary>
+        public static bool Apply(HydroNozzleViewModel visualViewModel, HydroNozzleMatchingViewModel matching)
+        {
+            var bol = Apply(visualViewModel.HydroInfo, visualViewModel.Vmo, matching);
+            visualViewModel.UpdateProperty();
+            return bol;
+        }
 
         /// <summary>
         /// 搴旂敤
@@ -1409,6 +1576,16 @@
         /// <summary>
         /// 搴旂敤
         /// </summary>
+        public static bool Apply(HydroHydrantViewModel visualViewModel, HydroHydrantMatchingViewModel matching)
+        {
+            var bol = Apply(visualViewModel.HydroInfo, visualViewModel.Vmo, matching);
+            visualViewModel.UpdateProperty();
+            return bol;
+        }
+
+        /// <summary>
+        /// 搴旂敤
+        /// </summary>
         public static bool Apply(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroHydrantInfo visual, HydroHydrantMatchingViewModel matching)
         {
             if (hydroInfo == null)
@@ -1471,7 +1648,100 @@
 
         #endregion
 
+        #region 鍐峰嵈濉�
+
+        /// <summary>
+        /// 搴旂敤
+        /// </summary>
+        public static bool Apply(HydroCoolingViewModel visualViewModel, HydroCoolingMatchingViewModel matching)
+        {
+            var bol = Apply(visualViewModel.HydroInfo, visualViewModel.Vmo, matching);
+            visualViewModel.UpdateProperty();
+            return bol;
+        }
+
+        /// <summary>
+        /// 搴旂敤
+        /// </summary>
+        public static bool Apply(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroCoolingInfo visual, HydroCoolingMatchingViewModel matching)
+        {
+            if (hydroInfo == null)
+            {
+                return false;
+            }
+            if (visual == null)
+            {
+                return false;
+            }
+            if (matching == null)
+            {
+                return false;
+            }
+            visual.Name = matching.Name;
+            visual.DbLocked = matching.DbLocked;
+            visual.DbId = matching.DbId;
+            visual.ModelType = matching.ModelType;
+            visual.Material = matching.Material;
+            visual.Caliber = matching.Caliber;
+            visual.MinorLoss = matching.MinorLoss;
+            visual.Coefficient = matching.Coefficient;
+            visual.LowerLimit = matching.LowerLimit;
+
+            bool result = false;
+            if (!visual.DbLocked)
+            {
+                if (!string.IsNullOrEmpty(matching.MatchingModelType))
+                {
+                    visual.ModelType = matching.MatchingModelType;
+                    result = true;
+                }
+                if (!string.IsNullOrEmpty(matching.MatchingDbId))
+                {
+                    visual.DbId = matching.MatchingDbId;
+                    result = true;
+                }
+                if (matching.MatchingCaliber.HasValue)
+                {
+                    visual.Caliber = matching.MatchingCaliber.Value;
+                    result = true;
+                }
+                if (!string.IsNullOrEmpty(matching.MatchingMaterial))
+                {
+                    visual.Material = matching.MatchingMaterial;
+                    result = true;
+                }
+                if (matching.MatchingMinorLoss.HasValue)
+                {
+                    visual.MinorLoss = matching.MatchingMinorLoss.Value;
+                    result = true;
+                }
+                if (matching.MatchingCoefficient.HasValue)
+                {
+                    visual.Coefficient = matching.MatchingCoefficient.Value;
+                    result = true;
+                }
+                if (matching.MatchingLowerLimit.HasValue)
+                {
+                    visual.LowerLimit = matching.MatchingLowerLimit.Value;
+                    result = true;
+                }
+            }
+            return result;
+        }
+
+        #endregion
+
         #region 姘磋〃
+
+        /// <summary>
+        /// 搴旂敤
+        /// </summary>
+        public static bool Apply(HydroMeterViewModel visualViewModel, HydroMeterMatchingViewModel matching)
+        {
+            var bol = Apply(visualViewModel.HydroInfo, visualViewModel.Vmo, matching);
+            visualViewModel.UpdateProperty();
+            return bol;
+        }
 
         /// <summary>
         /// 搴旂敤
@@ -1525,6 +1795,16 @@
         /// <summary>
         /// 搴旂敤
         /// </summary>
+        public static bool Apply(HydroFlowmeterViewModel visualViewModel, HydroFlowmeterMatchingViewModel matching)
+        {
+            var bol = Apply(visualViewModel.HydroInfo, visualViewModel.Vmo, matching);
+            visualViewModel.UpdateProperty();
+            return bol;
+        }
+
+        /// <summary>
+        /// 搴旂敤
+        /// </summary>
         public static bool Apply(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroFlowmeterInfo visual, HydroFlowmeterMatchingViewModel matching)
         {
             if (hydroInfo == null)
@@ -1574,6 +1854,16 @@
         /// <summary>
         /// 搴旂敤
         /// </summary>
+        public static bool Apply(HydroPressmeterViewModel visualViewModel, HydroPressmeterMatchingViewModel matching)
+        {
+            var bol = Apply(visualViewModel.HydroInfo, visualViewModel.Vmo, matching);
+            visualViewModel.UpdateProperty();
+            return bol;
+        }
+
+        /// <summary>
+        /// 搴旂敤
+        /// </summary>
         public static bool Apply(Yw.Model.HydroModelInfo hydroInfo, Yw.Model.HydroPressmeterInfo visual, HydroPressmeterMatchingViewModel matching)
         {
             if (hydroInfo == null)
@@ -1619,6 +1909,16 @@
         #endregion
 
         #region 绠¢亾
+
+        /// <summary>
+        /// 搴旂敤
+        /// </summary>
+        public static bool Apply(HydroPipeViewModel visualViewModel, HydroPipeMatchingViewModel matching)
+        {
+            var bol = Apply(visualViewModel.HydroInfo, visualViewModel.Vmo, matching);
+            visualViewModel.UpdateProperty();
+            return bol;
+        }
 
         /// <summary>
         /// 搴旂敤
@@ -1688,6 +1988,16 @@
         #endregion
 
         #region 杩囨浮浠�
+
+        /// <summary>
+        /// 搴旂敤
+        /// </summary>
+        public static bool Apply(HydroTranslationViewModel visualViewModel, HydroTranslationMatchingViewModel matching)
+        {
+            var bol = Apply(visualViewModel.HydroInfo, visualViewModel.Vmo, matching);
+            visualViewModel.UpdateProperty();
+            return bol;
+        }
 
         /// <summary>
         /// 搴旂敤
@@ -1769,6 +2079,16 @@
         #endregion
 
         #region 姘存车
+
+        /// <summary>
+        /// 搴旂敤
+        /// </summary>
+        public static bool Apply(HydroPumpViewModel visualViewModel, HydroPumpMatchingViewModel matching)
+        {
+            var bol = Apply(visualViewModel.HydroInfo, visualViewModel.Vmo, matching);
+            visualViewModel.UpdateProperty();
+            return bol;
+        }
 
         /// <summary>
         /// 搴旂敤
@@ -1856,7 +2176,7 @@
                         curveqh.ModelType = string.Empty;
                         curveqh.DbLocked = false;
                         curveqh.DbId = matching.MatchingCurveDbId;
-                        curveqh.CurveType = Yw.WinFrmUI.HydroCurve.PumpQH;
+                        curveqh.CurveType = Yw.WinFrmUI.HydroCurveType.CurveQH;
                         curveqh.CurveData = matching.MatchingCurveQH?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList();
                         if (hydroInfo.Curves == null)
                         {
@@ -1887,7 +2207,7 @@
                         curveqp.ModelType = string.Empty;
                         curveqp.DbLocked = false;
                         curveqp.DbId = matching.MatchingCurveDbId;
-                        curveqp.CurveType = Yw.WinFrmUI.HydroCurve.PumpQP;
+                        curveqp.CurveType = Yw.WinFrmUI.HydroCurveType.CurveQP;
                         curveqp.CurveData = matching.MatchingCurveQP?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList();
                         if (hydroInfo.Curves == null)
                         {
@@ -1918,7 +2238,7 @@
                         curveqe.ModelType = string.Empty;
                         curveqe.DbLocked = false;
                         curveqe.DbId = matching.MatchingCurveDbId;
-                        curveqe.CurveType = Yw.WinFrmUI.HydroCurve.PumpQE;
+                        curveqe.CurveType = Yw.WinFrmUI.HydroCurveType.CurveQE;
                         curveqe.CurveData = matching.MatchingCurveQE?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList();
                         if (hydroInfo.Curves == null)
                         {
@@ -1946,6 +2266,16 @@
         #endregion
 
         #region 闃�闂�
+
+        /// <summary>
+        /// 搴旂敤
+        /// </summary>
+        public static bool Apply(HydroValveViewModel visualViewModel, HydroValveMatchingViewModel matching)
+        {
+            var bol = Apply(visualViewModel.HydroInfo, visualViewModel.Vmo, matching);
+            visualViewModel.UpdateProperty();
+            return bol;
+        }
 
         /// <summary>
         /// 搴旂敤
@@ -2062,7 +2392,7 @@
                                     curveol.ModelType = visual.ModelType;
                                     curveol.DbLocked = false;
                                     curveol.DbId = matching.MatchingCurveDbId;
-                                    curveol.CurveType = Yw.WinFrmUI.HydroCurve.ValveOL;
+                                    curveol.CurveType = Yw.WinFrmUI.HydroCurveType.CurveOL;
                                     curveol.CurveData = matching.MatchingCurveOL?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList();
                                     if (hydroInfo.Curves == null)
                                     {
@@ -2077,6 +2407,7 @@
                                     if (!curveol.DbLocked)
                                     {
                                         curveol.DbId = matching.MatchingCurveDbId;
+                                        curveol.CurveType = Yw.WinFrmUI.HydroCurveType.CurveOL;
                                         curveol.CurveData = matching.MatchingCurveOL?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList();
                                         result = true;
                                     }
@@ -2088,7 +2419,7 @@
                         {
                             if (!string.IsNullOrEmpty(matching.MatchingCurveDbId))
                             {
-                                //闃�闂ㄥ紑搴︽崯澶辩郴鏁版洸绾�
+                                //姘村ご鎹熷け鏇茬嚎
                                 var curveql = hydroInfo.Curves?.Find(x => x.Code == visual.ValveSetting);
                                 if (curveql == null)
                                 {
@@ -2099,7 +2430,7 @@
                                     curveql.ModelType = visual.ModelType;
                                     curveql.DbLocked = false;
                                     curveql.DbId = matching.MatchingCurveDbId;
-                                    curveql.CurveType = Yw.WinFrmUI.HydroCurve.ValveOL;
+                                    curveql.CurveType = Yw.WinFrmUI.HydroCurveType.CurveQL;
                                     curveql.CurveData = matching.MatchingCurveQL?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList();
                                     if (hydroInfo.Curves == null)
                                     {
@@ -2114,6 +2445,7 @@
                                     if (!curveql.DbLocked)
                                     {
                                         curveql.DbId = matching.MatchingCurveDbId;
+                                        curveql.CurveType = Yw.WinFrmUI.HydroCurveType.CurveQL;
                                         curveql.CurveData = matching.MatchingCurveQL?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList();
                                         result = true;
                                     }
@@ -2134,6 +2466,16 @@
         #endregion
 
         #region 鎹㈢儹鍣�
+
+        /// <summary>
+        /// 搴旂敤
+        /// </summary>
+        public static bool Apply(HydroExchangerViewModel visualViewModel, HydroExchangerMatchingViewModel matching)
+        {
+            var bol = Apply(visualViewModel.HydroInfo, visualViewModel.Vmo, matching);
+            visualViewModel.UpdateProperty();
+            return bol;
+        }
 
         /// <summary>
         /// 搴旂敤
@@ -2201,7 +2543,7 @@
                         curvevql.ModelType = string.Empty;
                         curvevql.DbLocked = false;
                         curvevql.DbId = matching.MatchingCurveDbId;
-                        curvevql.CurveType = Yw.WinFrmUI.HydroCurve.ExchangerQL;
+                        curvevql.CurveType = Yw.WinFrmUI.HydroCurveType.CurveQL;
                         curvevql.CurveData = matching.MatchingCurveQL?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList();
                         if (hydroInfo.Curves == null)
                         {
@@ -2228,6 +2570,16 @@
         #endregion
 
         #region 绌哄帇鏈�
+
+        /// <summary>
+        /// 搴旂敤
+        /// </summary>
+        public static bool Apply(HydroCompressorViewModel visualViewModel, HydroCompressorMatchingViewModel matching)
+        {
+            var bol = Apply(visualViewModel.HydroInfo, visualViewModel.Vmo, matching);
+            visualViewModel.UpdateProperty();
+            return bol;
+        }
 
         /// <summary>
         /// 搴旂敤
@@ -2295,7 +2647,7 @@
                         curvevql.ModelType = string.Empty;
                         curvevql.DbLocked = false;
                         curvevql.DbId = matching.MatchingCurveDbId;
-                        curvevql.CurveType = Yw.WinFrmUI.HydroCurve.CompressorQL;
+                        curvevql.CurveType = Yw.WinFrmUI.HydroCurveType.CurveQL;
                         curvevql.CurveData = matching.MatchingCurveQL?.Select(x => new Yw.Model.Hydro.CurvePoint(x.X, x.Y)).ToList();
                         if (hydroInfo.Curves == null)
                         {

--
Gitblit v1.9.3