From f47abf649b85ce5fd21725fedaebba359a6dfd1d Mon Sep 17 00:00:00 2001
From: duheng <2784771470@qq.com>
Date: 星期二, 24 十二月 2024 09:20:02 +0800
Subject: [PATCH] Merge branch 'master' of http://47.103.154.90:83/r/HStation/XHS.V1.0

---
 WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/01-source/02-tank/00-core/HydroTankViewModel.cs |   74 ++++++++++++++++++++++++++----------
 1 files changed, 53 insertions(+), 21 deletions(-)

diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/01-source/02-tank/00-core/HydroTankViewModel.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/01-source/02-tank/00-core/HydroTankViewModel.cs
index cc80d1c..d2ac7aa 100644
--- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/01-source/02-tank/00-core/HydroTankViewModel.cs
+++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/03-node/01-source/02-tank/00-core/HydroTankViewModel.cs
@@ -3,7 +3,7 @@
     /// <summary>
     /// 姘存睜瑙嗗浘
     /// </summary>
-    public class HydroTankViewModel : HydroSourceViewModel
+    public class HydroTankViewModel : HydroSourceViewModel, IHydroCalcuTankResult
     {
         /// <summary>
         /// 
@@ -31,8 +31,6 @@
             this.UpdatePropStatus(nameof(this.VolCurve), rhs, nameof(rhs.VolCurve));
             this.OverFlow = rhs.OverFlow;
             this.UpdatePropStatus(nameof(this.OverFlow), rhs, nameof(rhs.OverFlow));
-
-            this.Vmo = rhs;
         }
 
         /// <summary>
@@ -40,9 +38,10 @@
         /// </summary>
         [Category("鏁版嵁")]
         [DisplayName("姹犲簳鏍囬珮")]
-        [Display(Name = "姹犲簳鏍囬珮(m)")]
-        [PropertyOrder(1001)]
         [DisplayUnit("m")]
+        [Display(Name = "姹犲簳鏍囬珮(m)")]
+        [HydroMarkPro]
+        [PropertyOrder(1001)]
         [Browsable(true)]
         public double PoolElev { get; set; }
 
@@ -51,9 +50,10 @@
         /// </summary>
         [Category("鏁版嵁")]
         [DisplayName("鍒濆姘翠綅")]
-        [Display(Name = "鍒濆姘翠綅(m)")]
-        [PropertyOrder(1002)]
         [DisplayUnit("m")]
+        [Display(Name = "鍒濆姘翠綅(m)")]
+        [HydroMarkPro]
+        [PropertyOrder(1002)]
         [Browsable(true)]
         public double InitLevel { get; set; }
 
@@ -62,9 +62,10 @@
         /// </summary>
         [Category("鏁版嵁")]
         [DisplayName("鏈�浣庢按浣�")]
-        [Display(Name = "鏈�浣庢按浣�(m)")]
-        [PropertyOrder(1003)]
         [DisplayUnit("m")]
+        [Display(Name = "鏈�浣庢按浣�(m)")]
+        [HydroMarkPro]
+        [PropertyOrder(1003)]
         [Browsable(true)]
         public double MinLevel { get; set; }
 
@@ -73,9 +74,10 @@
         /// </summary>
         [Category("鏁版嵁")]
         [DisplayName("鏈�楂樻按浣�")]
-        [Display(Name = "鏈�楂樻按浣�(m)")]
-        [PropertyOrder(1004)]
         [DisplayUnit("m")]
+        [Display(Name = "鏈�楂樻按浣�(m)")]
+        [HydroMarkPro]
+        [PropertyOrder(1004)]
         [Browsable(true)]
         public double MaxLevel { get; set; }
 
@@ -84,9 +86,10 @@
         /// </summary>
         [Category("鏁版嵁")]
         [DisplayName("鍏О鐩村緞")]
-        [Display(Name = "鍏О鐩村緞(m)")]
-        [PropertyOrder(1005)]
         [DisplayUnit("m")]
+        [Display(Name = "鍏О鐩村緞(m)")]
+        [HydroMarkPro]
+        [PropertyOrder(1005)]
         [Browsable(true)]
         public double DN { get; set; }
 
@@ -95,9 +98,10 @@
         /// </summary>
         [Category("鏁版嵁")]
         [DisplayName("鏈�灏忓绉�")]
-        [Display(Name = "鏈�灏忓绉�(m鲁)")]
-        [PropertyOrder(1006)]
         [DisplayUnit("m鲁")]
+        [Display(Name = "鏈�灏忓绉�(m鲁)")]
+        [HydroMarkPro]
+        [PropertyOrder(1006)]
         [Browsable(true)]
         public double MinVol { get; set; }
 
@@ -108,8 +112,9 @@
         [DisplayName("瀹圭Н鏇茬嚎")]
         [Display(Name = "瀹圭Н鏇茬嚎")]
         [PropertyOrder(1007)]
-        [IsHydroCurvePro(HydroCurve.Tank)]
-        [Browsable(true)]
+        [HydroCurvePro(HydroCurve.Tank, HydroCurveType.CurveVol)]
+        [ShowEditorInView(true)]
+        [Browsable(false)]
         public string Curve
         {
             get
@@ -129,8 +134,9 @@
         [DisplayName("瀹圭Н鏇茬嚎")]
         [Display(Name = "瀹圭Н鏇茬嚎")]
         [PropertyOrder(1008)]
-        [IsHydroCurvePro(HydroCurve.TankVol)]
-        [Browsable(false)]
+        [HydroCurvePro(HydroCurve.Tank, HydroCurveType.CurveVol)]
+        [ShowEditorInView(true)]
+        [Browsable(true)]
         public string VolCurve { get; set; }
 
         /// <summary>
@@ -147,7 +153,11 @@
         /// 
         /// </summary>
         [Browsable(false)]
-        public new Yw.Model.HydroTankInfo Vmo { get; set; }
+        public new Yw.Model.HydroTankInfo Vmo
+        {
+            get { return _vmo as Yw.Model.HydroTankInfo; }
+            set { _vmo = value; }
+        }
 
         /// <summary>
         /// 
@@ -173,7 +183,29 @@
             this.UpdatePropStatus(nameof(this.OverFlow), this.Vmo, nameof(this.Vmo.OverFlow));
         }
 
-
+        /// <summary>
+        /// 
+        /// </summary>
+        public override void UpdateVmoProperty()
+        {
+            base.UpdateVmoProperty();
+            this.Vmo.PoolElev = Math.Round(this.PoolElev, 4);
+            this.Vmo.UpdatePropStatus(nameof(this.Vmo.PoolElev), this, nameof(this.PoolElev));
+            this.Vmo.InitLevel = Math.Round(this.InitLevel, 4);
+            this.Vmo.UpdatePropStatus(nameof(this.Vmo.InitLevel), this, nameof(this.InitLevel));
+            this.Vmo.MinLevel = Math.Round(this.MinLevel, 4);
+            this.Vmo.UpdatePropStatus(nameof(this.Vmo.MinLevel), this, nameof(this.MinLevel));
+            this.Vmo.MaxLevel = Math.Round(this.MaxLevel, 4);
+            this.Vmo.UpdatePropStatus(nameof(this.Vmo.MaxLevel), this, nameof(this.MaxLevel));
+            this.Vmo.DN = Math.Round(this.DN, 4);
+            this.Vmo.UpdatePropStatus(nameof(this.Vmo.DN), this, nameof(this.DN));
+            this.Vmo.MinVol = Math.Round(this.MinVol, 4);
+            this.Vmo.UpdatePropStatus(nameof(this.Vmo.MinVol), this, nameof(this.MinVol));
+            this.Vmo.VolCurve = this.VolCurve;
+            this.Vmo.UpdatePropStatus(nameof(this.Vmo.VolCurve), this, nameof(this.VolCurve));
+            this.Vmo.OverFlow = this.OverFlow;
+            this.Vmo.UpdatePropStatus(nameof(this.Vmo.OverFlow), this, nameof(this.OverFlow));
+        }
 
 
 

--
Gitblit v1.9.3