duheng
2024-12-24 f47abf649b85ce5fd21725fedaebba359a6dfd1d
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));
        }