lixiaojun
2024-12-20 94d10185010a7476021764f5b5cb59dc7d2b68f4
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/01-pipe/00-core/HydroPipeViewModel.cs
@@ -3,7 +3,7 @@
    /// <summary>
    /// 管道视图
    /// </summary>
    public class HydroPipeViewModel : HydroLinkViewModel
    public class HydroPipeViewModel : HydroLinkViewModel, IHydroCalcuPipeResult
    {
        /// <summary>
        /// 
@@ -25,8 +25,6 @@
            this.UpdatePropStatus(nameof(this.Roughness), rhs, nameof(rhs.Roughness));
            this.MinorLoss = rhs.MinorLoss;
            this.UpdatePropStatus(nameof(this.MinorLoss), rhs, nameof(rhs.MinorLoss));
            this.Vmo = rhs;
        }
        /// <summary>
@@ -58,7 +56,7 @@
        [DisplayUnit("mm")]
        [PropertyOrder(2002)]
        [Browsable(true)]
        public double Diameter { get; set; }
        public virtual double Diameter { get; set; }
        /// <summary>
        /// 长度
@@ -93,13 +91,55 @@
        [Browsable(true)]
        public double MinorLoss { get; set; }
        /// <summary>
        /// 流量
        /// </summary>
        [Category("计算结果")]
        [DisplayName("流量")]
        [Display(Name = "流量(m³/h)")]
        [PropertyOrder(11001)]
        [Browsable(true)]
        [DisplayUnit("m³/h")]
        [HydroCalcuPro]
        [ShowEditor(false)]
        public virtual double? CalcuQ { get; set; }
        /// <summary>
        /// 进口压力
        /// </summary>
        [Category("计算结果")]
        [DisplayName("进口压力")]
        [Display(Name = "进口压力(m)")]
        [PropertyOrder(11002)]
        [Browsable(true)]
        [DisplayUnit("m")]
        [HydroCalcuPro]
        [ShowEditor(false)]
        public virtual double? CalcuPr1 { get; set; }
        /// <summary>
        /// 出口压力
        /// </summary>
        [Category("计算结果")]
        [DisplayName("出口压力")]
        [Display(Name = "出口压力(m)")]
        [PropertyOrder(11003)]
        [Browsable(true)]
        [DisplayUnit("m")]
        [HydroCalcuPro]
        [ShowEditor(false)]
        public virtual double? CalcuPr2 { get; set; }
        /// <summary>
        /// 
        /// </summary>
        [Browsable(false)]
        public new Yw.Model.HydroPipeInfo Vmo { get; set; }
        public new Yw.Model.HydroPipeInfo Vmo
        {
            get { return _vmo as Yw.Model.HydroPipeInfo; }
            set { _vmo = value; }
        }
        /// <summary>
        /// 更新属性
@@ -137,7 +177,19 @@
            this.Vmo.UpdatePropStatus(nameof(this.Vmo.MinorLoss), this, nameof(this.MinorLoss));
        }
        /// <summary>
        /// 更新计算属性
        /// </summary>
        public override void UpdateCalcuProperty(HydroCalcuVisualResult rhs)
        {
            base.UpdateCalcuProperty(rhs);
            if (rhs is HydroCalcuPipeResult calcuPipeProperty)
            {
                this.CalcuQ = calcuPipeProperty.CalcuQ.HasValue ? Math.Round(calcuPipeProperty.CalcuQ.Value, 1) : null;
                this.CalcuPr1 = calcuPipeProperty.CalcuPr1.HasValue ? Math.Round(calcuPipeProperty.CalcuPr1.Value, 2) : null;
                this.CalcuPr2 = calcuPipeProperty.CalcuPr2.HasValue ? Math.Round(calcuPipeProperty.CalcuPr2.Value, 2) : null;
            }
        }
    }
}