From 81fa3e53992712371665c6de58a4487beb7ffc17 Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期六, 16 十一月 2024 17:49:38 +0800
Subject: [PATCH] 完善标注,之后应该不会再更新标注相关信息

---
 WinFrmUI/Yw.WinFrmUI.Hydro.Core/07-mark/00-core/HydroMarkHelper.cs | 1110 ++++++++++++++++++++++++++++++----------------------------
 1 files changed, 575 insertions(+), 535 deletions(-)

diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/07-mark/00-core/HydroMarkHelper.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/07-mark/00-core/HydroMarkHelper.cs
index 07c4f57..8d4b5c5 100644
--- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/07-mark/00-core/HydroMarkHelper.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/07-mark/00-core/HydroMarkHelper.cs
@@ -1,6 +1,4 @@
-锘縰sing Yw.WinFrmUI.Hydro;
-
-namespace Yw.WinFrmUI
+锘縩amespace Yw.WinFrmUI
 {
     /// <summary>
     /// 鏍囨敞杈呭姪绫�
@@ -17,6 +15,8 @@
                 return default;
             }
             var list = new List<HydroMarkSetViewModel>();
+
+            //姘村簱
             if (hydroInfo.Reservoirs != null && hydroInfo.Reservoirs.Count > 0)
             {
                 list.Add(new HydroMarkSetViewModel()
@@ -26,6 +26,8 @@
                     PropName = HydroMarkProp.None
                 });
             }
+
+            //姘存睜
             if (hydroInfo.Tanks != null && hydroInfo.Tanks.Count > 0)
             {
                 list.Add(new HydroMarkSetViewModel()
@@ -35,6 +37,8 @@
                     PropName = HydroMarkProp.None
                 });
             }
+
+            //姘寸
             if (hydroInfo.Waterboxs != null && hydroInfo.Waterboxs.Count > 0)
             {
                 list.Add(new HydroMarkSetViewModel()
@@ -44,6 +48,8 @@
                     PropName = HydroMarkProp.None
                 });
             }
+
+            //绠¢亾
             if (hydroInfo.Pipes != null && hydroInfo.Pipes.Count > 0)
             {
                 list.Add(new HydroMarkSetViewModel()
@@ -53,6 +59,8 @@
                     PropName = HydroMarkProp.None
                 });
             }
+
+            //杩囨浮浠�
             if (hydroInfo.Translations != null && hydroInfo.Translations.Count > 0)
             {
                 list.Add(new HydroMarkSetViewModel()
@@ -62,6 +70,8 @@
                     PropName = HydroMarkProp.None
                 });
             }
+
+            //姘存车
             if (hydroInfo.Pumps != null && hydroInfo.Pumps.Count > 0)
             {
                 list.Add(new HydroMarkSetViewModel()
@@ -71,6 +81,8 @@
                     PropName = HydroMarkProp.None
                 });
             }
+
+            //闃�闂�
             if (hydroInfo.Valves != null && hydroInfo.Valves.Count > 0)
             {
                 list.Add(new HydroMarkSetViewModel()
@@ -80,6 +92,8 @@
                     PropName = HydroMarkProp.None
                 });
             }
+
+            //鎹㈢儹鍣�
             if (hydroInfo.Exchangers != null && hydroInfo.Exchangers.Count > 0)
             {
                 list.Add(new HydroMarkSetViewModel()
@@ -89,6 +103,19 @@
                     PropName = HydroMarkProp.None
                 });
             }
+
+            //鍘嬬缉鏈�
+            if (hydroInfo.Compressors != null && hydroInfo.Compressors.Count > 0)
+            {
+                list.Add(new HydroMarkSetViewModel()
+                {
+                    Catalog = Yw.Hydro.ParterCatalog.Compressor,
+                    CatalogName = HydroParterCatalogHelper.GetName(Yw.Hydro.ParterCatalog.Compressor),
+                    PropName = HydroMarkProp.None
+                });
+            }
+
+            //鍠峰槾
             if (hydroInfo.Nozzles != null && hydroInfo.Nozzles.Count > 0)
             {
                 list.Add(new HydroMarkSetViewModel()
@@ -98,6 +125,8 @@
                     PropName = HydroMarkProp.None
                 });
             }
+
+            //娑堢伀鏍�
             if (hydroInfo.Hydrants != null && hydroInfo.Hydrants.Count > 0)
             {
                 list.Add(new HydroMarkSetViewModel()
@@ -107,6 +136,7 @@
                     PropName = HydroMarkProp.None
                 });
             }
+
             return list;
         }
 
@@ -123,541 +153,551 @@
             {
                 return default;
             }
-            var list = new List<HydroMarkResultViewModel>();
-            foreach (var set in allSetList)
+            var allVisualList = hydroInfo.GetAllVisuals();
+            if (allVisualList == null || allVisualList.Count < 1)
             {
-                switch (set.Catalog)
-                {
-                    case Yw.Hydro.ParterCatalog.Reservoir:
-                        {
-                            if (hydroInfo.Reservoirs != null && hydroInfo.Reservoirs.Count > 0)
-                            {
-                                switch (set.PropName)
-                                {
-                                    case Yw.Hydro.ParterProp.PoolElev:
-                                        {
-                                            hydroInfo.Reservoirs.ForEach(t =>
-                                            {
-                                                if (t.PoolElev.HasValue)
-                                                {
-                                                    list.Add(new HydroMarkResultViewModel()
-                                                    {
-                                                        Code = t.Code,
-                                                        Text = $"姹犲簳鏍囬珮:{Math.Round(t.PoolElev.Value, 4)}m"
-                                                    });
-                                                }
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.Head:
-                                        {
-                                            hydroInfo.Reservoirs.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"鎬绘按澶�:{Math.Round(t.Head, 2)}m"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    default: break;
-                                }
-                            }
-                        }
-                        break;
-                    case Yw.Hydro.ParterCatalog.Tank:
-                        {
-                            if (hydroInfo.Tanks != null && hydroInfo.Tanks.Count > 0)
-                            {
-                                switch (set.PropName)
-                                {
-                                    case Yw.Hydro.ParterProp.PoolElev:
-                                        {
-                                            hydroInfo.Tanks.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"姹犲簳鏍囬珮:{Math.Round(t.PoolElev, 4)}m"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.InitLevel:
-                                        {
-                                            hydroInfo.Tanks.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"鍒濆姘翠綅:{Math.Round(t.InitLevel, 4)}m"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.MinLevel:
-                                        {
-                                            hydroInfo.Tanks.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"鏈�灏忔按浣�:{Math.Round(t.MinLevel, 4)}m"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.MaxLevel:
-                                        {
-                                            hydroInfo.Tanks.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"鏈�楂樻按浣�:{Math.Round(t.MaxLevel, 4)}m"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.DN:
-                                        {
-                                            hydroInfo.Tanks.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"鍏О鐩村緞:{Math.Round(t.DN, 4)}m"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.MinVol:
-                                        {
-                                            hydroInfo.Tanks.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"鏈�灏忓绉�:{Math.Round(t.MinVol, 1)}m"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    default: break;
-                                }
-                            }
-                        }
-                        break;
-                    case Yw.Hydro.ParterCatalog.Waterbox:
-                        {
-                            if (hydroInfo.Waterboxs != null && hydroInfo.Waterboxs.Count > 0)
-                            {
-                                switch (set.PropName)
-                                {
-                                    case Yw.Hydro.ParterProp.PoolElev:
-                                        {
-                                            hydroInfo.Waterboxs.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"姹犲簳鏍囬珮:{Math.Round(t.PoolElev, 4)}m"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.InitLevel:
-                                        {
-                                            hydroInfo.Waterboxs.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"鍒濆姘翠綅:{Math.Round(t.InitLevel, 4)}m"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.MinLevel:
-                                        {
-                                            hydroInfo.Waterboxs.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"鏈�灏忔按浣�:{Math.Round(t.MinLevel, 4)}m"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.MaxLevel:
-                                        {
-                                            hydroInfo.Waterboxs.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"鏈�楂樻按浣�:{Math.Round(t.MaxLevel, 4)}m"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.DN:
-                                        {
-                                            hydroInfo.Waterboxs.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"鍏О鐩村緞:{Math.Round(t.DN, 4)}m"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.MinVol:
-                                        {
-                                            hydroInfo.Waterboxs.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"鏈�灏忓绉�:{Math.Round(t.MinVol, 1)}m"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    default: break;
-                                }
-                            }
-                        }
-                        break;
-                    case Yw.Hydro.ParterCatalog.Pipe:
-                        {
-                            if (hydroInfo.Pipes != null && hydroInfo.Pipes.Count > 0)
-                            {
-                                switch (set.PropName)
-                                {
-                                    case Yw.Hydro.ParterProp.Diameter:
-                                        {
-                                            hydroInfo.Pipes.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"鐩村緞:{Math.Round(t.Diameter, 1)}mm"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.Length:
-                                        {
-                                            hydroInfo.Pipes.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"闀垮害:{Math.Round(t.Length, 4)}m"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.Roughness:
-                                        {
-                                            hydroInfo.Pipes.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"绮楃硻绯绘暟:{Math.Round(t.Roughness, 1)}"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.MinorLoss:
-                                        {
-                                            hydroInfo.Pipes.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"灞�闃荤郴鏁�:{Math.Round(t.MinorLoss, 1)}"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    default: break;
-                                }
-                            }
-                        }
-                        break;
-                    case Yw.Hydro.ParterCatalog.Translation:
-                        {
-                            if (hydroInfo.Translations != null && hydroInfo.Translations.Count > 0)
-                            {
-                                switch (set.PropName)
-                                {
-                                    case Yw.Hydro.ParterProp.Diameter:
-                                        {
-                                            hydroInfo.Translations.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"鐩村緞:{Math.Round(t.Diameter, 1)}mm"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.Length:
-                                        {
-                                            hydroInfo.Translations.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"闀垮害:{Math.Round(t.Length, 4)}m"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.Roughness:
-                                        {
-                                            hydroInfo.Translations.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"绮楃硻绯绘暟:{Math.Round(t.Roughness, 1)}"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.MinorLoss:
-                                        {
-                                            hydroInfo.Translations.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"灞�闃荤郴鏁�:{Math.Round(t.MinorLoss, 1)}"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    default: break;
-                                }
-                            }
-                        }
-                        break;
-                    case Yw.Hydro.ParterCatalog.Pump:
-                        {
-                            if (hydroInfo.Pumps != null && hydroInfo.Pumps.Count > 0)
-                            {
-                                switch (set.PropName)
-                                {
-                                    case Yw.Hydro.ParterProp.LinkStatus:
-                                        {
-                                            hydroInfo.Pumps.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"寮�鏈虹姸鎬�:{Yw.WinFrmUI.HydroLinkStatusHelper.GetStatusName(t.LinkStatus)}"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.RatedQ:
-                                        {
-                                            hydroInfo.Pumps.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"棰濆畾娴侀噺:{t.RatedQ}m鲁/h"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.RatedH:
-                                        {
-                                            hydroInfo.Pumps.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"棰濆畾鎵▼:{t.RatedH}m"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.RatedP:
-                                        {
-                                            hydroInfo.Pumps.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"棰濆畾鍔熺巼:{t.RatedP}kW"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.RatedN:
-                                        {
-                                            hydroInfo.Pumps.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"棰濆畾杞��:{t.RatedN}r/min"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.CurrentHz:
-                                        {
-                                            hydroInfo.Pumps.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"璁惧畾棰戠巼:{Math.Round(t.RatedHz * t.SpeedRatio, 1)}hz"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    default: break;
-                                }
-                            }
-                        }
-                        break;
-                    case Yw.Hydro.ParterCatalog.Valve:
-                        {
-                            if (hydroInfo.Valves != null && hydroInfo.Valves.Count > 0)
-                            {
-                                switch (set.PropName)
-                                {
-                                    case Yw.Hydro.ParterProp.LinkStatus:
-                                        {
-                                            hydroInfo.Valves.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"闃�闂ㄧ姸鎬�:{HydroLinkStatusHelper.GetStatusName(t.LinkStatus)}"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.ValveType:
-                                        {
-                                            hydroInfo.Valves.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"闃�闂ㄧ被鍨�:{HydroValveTypeHelper.GetTypeName(t.ValveType)}"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.OpeningDegree:
-                                        {
-                                            hydroInfo.Valves.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"闃�闂ㄥ紑搴�:{t.OpeningDegree}%"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.Diameter:
-                                        {
-                                            hydroInfo.Valves.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"鐩村緞:{t.Diameter}mm"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.MinorLoss:
-                                        {
-                                            hydroInfo.Valves.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"灞�闃荤郴鏁�:{t.MinorLoss}"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    default: break;
-                                }
-                            }
-                        }
-                        break;
-                    case Yw.Hydro.ParterCatalog.Nozzle:
-                        {
-                            if (hydroInfo.Nozzles != null && hydroInfo.Nozzles.Count > 0)
-                            {
-                                switch (set.PropName)
-                                {
-                                    case Yw.Hydro.ParterProp.Elev:
-                                        {
-                                            hydroInfo.Nozzles.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"鏍囬珮:{Math.Round(t.Elev, 4)}m"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.Demand:
-                                        {
-                                            hydroInfo.Nozzles.ForEach(t =>
-                                            {
-                                                if (t.Demand.HasValue)
-                                                {
-                                                    list.Add(new HydroMarkResultViewModel()
-                                                    {
-                                                        Code = t.Code,
-                                                        Text = $"闇�姘撮噺:{t.Demand}m鲁/h"
-                                                    });
-                                                }
-                                            });
-                                        }
-                                        break;
-                                    case Yw.Hydro.ParterProp.Coefficient:
-                                        {
-                                            hydroInfo.Nozzles.ForEach(t =>
-                                            {
-                                                list.Add(new HydroMarkResultViewModel()
-                                                {
-                                                    Code = t.Code,
-                                                    Text = $"鍠峰皠绯绘暟:{t.Coefficient}"
-                                                });
-                                            });
-                                        }
-                                        break;
-                                    default: break;
-                                }
-                            }
-                        }
-                        break;
-                    default: break;
-                }
+                return default;
             }
+            var list = new List<HydroMarkResultViewModel>();
+            allVisualList.ForEach(x =>
+            {
+                var result = GetResult(x, allSetList);
+                if (result != null)
+                {
+                    list.Add(result);
+                }
+            });
             return list;
         }
+
+        /// <summary>
+        /// 鑾峰彇缁撴灉
+        /// </summary>
+        public static HydroMarkResultViewModel GetResult(Yw.Model.HydroVisualInfo visual, List<HydroMarkSetViewModel> allSetList)
+        {
+            if (visual == null)
+            {
+                return default;
+            }
+            var set = allSetList?.Find(x => x.Catalog == visual.Catalog);
+            if (set == null)
+            {
+                return default;
+            }
+            HydroMarkResultViewModel result = null;
+            switch (set.Catalog)
+            {
+                case Yw.Hydro.ParterCatalog.Reservoir:
+                    {
+                        var reservoir = visual as Yw.Model.HydroReservoirInfo;
+                        switch (set.PropName)
+                        {
+                            case Yw.Hydro.ParterProp.PoolElev:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"姹犲簳鏍囬珮:{Math.Round(reservoir.PoolElev.Value, 4)}m"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.Head:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"鎬绘按澶�:{Math.Round(reservoir.Head, 2)}m"
+                                    };
+                                }
+                                break;
+                            default: break;
+                        }
+                    }
+                    break;
+                case Yw.Hydro.ParterCatalog.Tank:
+                    {
+                        var tank = visual as Yw.Model.HydroTankInfo;
+                        switch (set.PropName)
+                        {
+                            case Yw.Hydro.ParterProp.PoolElev:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"姹犲簳鏍囬珮:{Math.Round(tank.PoolElev, 4)}m"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.InitLevel:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"鍒濆姘翠綅:{Math.Round(tank.InitLevel, 4)}m"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.MinLevel:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"鏈�灏忔按浣�:{Math.Round(tank.MinLevel, 4)}m"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.MaxLevel:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"鏈�楂樻按浣�:{Math.Round(tank.MaxLevel, 4)}m"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.DN:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"鍏О鐩村緞:{Math.Round(tank.DN, 4)}m"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.MinVol:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"鏈�灏忓绉�:{Math.Round(tank.MinVol, 1)}m鲁"
+                                    };
+                                }
+                                break;
+                            default: break;
+                        }
+                    }
+                    break;
+                case Yw.Hydro.ParterCatalog.Waterbox:
+                    {
+                        var waterbox = visual as Yw.Model.HydroWaterboxInfo;
+                        switch (set.PropName)
+                        {
+                            case Yw.Hydro.ParterProp.PoolElev:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"姹犲簳鏍囬珮:{Math.Round(waterbox.PoolElev, 4)}m"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.InitLevel:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"鍒濆姘翠綅:{Math.Round(waterbox.InitLevel, 4)}m"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.MinLevel:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"鏈�灏忔按浣�:{Math.Round(waterbox.MinLevel, 4)}m"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.MaxLevel:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"鏈�楂樻按浣�:{Math.Round(waterbox.MaxLevel, 4)}m"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.DN:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"鍏О鐩村緞:{Math.Round(waterbox.DN, 4)}m"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.MinVol:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"鏈�灏忓绉�:{Math.Round(waterbox.MinVol, 1)}m鲁"
+                                    };
+                                }
+                                break;
+                            default: break;
+                        }
+                    }
+                    break;
+                case Yw.Hydro.ParterCatalog.Pipe:
+                    {
+                        var pipe = visual as Yw.Model.HydroPipeInfo;
+                        switch (set.PropName)
+                        {
+                            case Yw.Hydro.ParterProp.Diameter:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"鐩村緞:{Math.Round(pipe.Diameter, 1)}mm"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.Length:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"闀垮害:{Math.Round(pipe.Length, 4)}m"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.Roughness:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"绮楃硻绯绘暟:{Math.Round(pipe.Roughness, 1)}"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.MinorLoss:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"灞�闃荤郴鏁�:{Math.Round(pipe.MinorLoss, 1)}"
+                                    };
+                                }
+                                break;
+                            default: break;
+                        }
+                    }
+                    break;
+                case Yw.Hydro.ParterCatalog.Translation:
+                    {
+                        var translation = visual as Yw.Model.HydroTranslationInfo;
+                        switch (set.PropName)
+                        {
+                            case Yw.Hydro.ParterProp.Diameter:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"鐩村緞:{Math.Round(translation.Diameter, 1)}mm"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.Length:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"闀垮害:{Math.Round(translation.Length, 4)}m"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.Roughness:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"绮楃硻绯绘暟:{Math.Round(translation.Roughness, 1)}"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.MinorLoss:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"灞�闃荤郴鏁�:{Math.Round(translation.MinorLoss, 1)}"
+                                    };
+                                }
+                                break;
+                            default: break;
+                        }
+                    }
+                    break;
+                case Yw.Hydro.ParterCatalog.Pump:
+                    {
+                        var pump = visual as Yw.Model.HydroPumpInfo;
+                        switch (set.PropName)
+                        {
+                            case Yw.Hydro.ParterProp.LinkStatus:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"寮�鏈虹姸鎬�:{Yw.WinFrmUI.HydroLinkStatusHelper.GetStatusName(pump.LinkStatus)}"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.RatedQ:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"棰濆畾娴侀噺:{pump.RatedQ}m鲁/h"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.RatedH:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"棰濆畾鎵▼:{pump.RatedH}m"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.RatedP:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"棰濆畾鍔熺巼:{pump.RatedP}kW"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.RatedN:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"棰濆畾杞��:{pump.RatedN}r/min"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.CurrentHz:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"璁惧畾棰戠巼:{Math.Round(pump.RatedHz * pump.SpeedRatio, 1)}hz"
+                                    };
+                                }
+                                break;
+                            default: break;
+                        }
+                    }
+                    break;
+                case Yw.Hydro.ParterCatalog.Valve:
+                    {
+                        var valve = visual as Yw.Model.HydroValveInfo;
+                        switch (set.PropName)
+                        {
+                            case Yw.Hydro.ParterProp.LinkStatus:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"闃�闂ㄧ姸鎬�:{HydroLinkStatusHelper.GetStatusName(valve.LinkStatus)}"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.ValveType:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"闃�闂ㄧ被鍨�:{HydroValveTypeHelper.GetTypeName(valve.ValveType)}"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.OpeningDegree:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"闃�闂ㄥ紑搴�:{valve.OpeningDegree}%"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.Diameter:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"鐩村緞:{valve.Diameter}mm"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.MinorLoss:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"灞�闃荤郴鏁�:{valve.MinorLoss}"
+                                    };
+                                }
+                                break;
+                            default: break;
+                        }
+                    }
+                    break;
+                case Yw.Hydro.ParterCatalog.Exchanger:
+                    {
+                        var exchanger = visual as Yw.Model.HydroExchangerInfo;
+                        switch (set.PropName)
+                        {
+                            case Yw.Hydro.ParterProp.LinkStatus:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"杩愯鐘舵��:{HydroLinkStatusHelper.GetStatusName(exchanger.LinkStatus)}"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.Diameter:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"鐩村緞:{exchanger.Diameter}mm"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.MinorLoss:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"灞�闃荤郴鏁�:{exchanger.MinorLoss}"
+                                    };
+                                }
+                                break;
+                            default: break;
+                        }
+                    }
+                    break;
+                case Yw.Hydro.ParterCatalog.Compressor:
+                    {
+                        var compressor = visual as Yw.Model.HydroCompressorInfo;
+                        switch (set.PropName)
+                        {
+                            case Yw.Hydro.ParterProp.LinkStatus:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"杩愯鐘舵��:{HydroLinkStatusHelper.GetStatusName(compressor.LinkStatus)}"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.Diameter:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"鐩村緞:{compressor.Diameter}mm"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.MinorLoss:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"灞�闃荤郴鏁�:{compressor.MinorLoss}"
+                                    };
+                                }
+                                break;
+                            default: break;
+                        }
+                    }
+                    break;
+                case Yw.Hydro.ParterCatalog.Nozzle:
+                    {
+                        var nozzle = visual as Yw.Model.HydroNozzleInfo;
+                        switch (set.PropName)
+                        {
+                            case Yw.Hydro.ParterProp.Elev:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"鏍囬珮:{Math.Round(nozzle.Elev, 4)}m"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.Demand:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"闇�姘撮噺:{nozzle.Demand}m鲁/h"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.Coefficient:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"鍠峰皠绯绘暟:{nozzle.Coefficient}"
+                                    };
+                                }
+                                break;
+                            default: break;
+                        }
+                    }
+                    break;
+                case Yw.Hydro.ParterCatalog.Hydrant:
+                    {
+                        var hydrant = visual as Yw.Model.HydroHydrantInfo;
+                        switch (set.PropName)
+                        {
+                            case Yw.Hydro.ParterProp.Elev:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"鏍囬珮:{Math.Round(hydrant.Elev, 4)}m"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.Demand:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"闇�姘撮噺:{hydrant.Demand}m鲁/h"
+                                    };
+                                }
+                                break;
+                            case Yw.Hydro.ParterProp.Coefficient:
+                                {
+                                    result = new HydroMarkResultViewModel()
+                                    {
+                                        Code = visual.Code,
+                                        Text = $"鍠峰皠绯绘暟:{hydrant.Coefficient}"
+                                    };
+                                }
+                                break;
+                            default: break;
+                        }
+                    }
+                    break;
+                default: break;
+            }
+            return result;
+        }
+
+
+
+
     }
 }

--
Gitblit v1.9.3