Shuxia Ning
2024-12-17 907a1579fecf2c160852cf99b3ea77c08eb481cc
WinFrmUI/Yw.WinFrmUI.Hydro.Core/04-viewmodel/04-link/04-resistance/00-core/HydroResistanceViewModel.cs
@@ -3,7 +3,7 @@
    /// <summary>
    /// 组件视图
    /// </summary>
    public class HydroResistanceViewModel : HydroLinkViewModel
    public class HydroResistanceViewModel : HydroLinkViewModel, IHydroCalcuResistanceResult
    {
        /// <summary>
        /// 
@@ -98,6 +98,45 @@
        public string CurveQL { 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)]
@@ -143,6 +182,20 @@
            this.Vmo.UpdatePropStatus(nameof(this.Vmo.CurveQL), this, nameof(this.CurveQL));
        }
        /// <summary>
        /// 更新计算属性
        /// </summary>
        public override void UpdateCalcuProperty(HydroCalcuVisualResult rhs)
        {
            base.UpdateCalcuProperty(rhs);
            if (rhs is HydroCalcuResistanceResult calcuResistanceProperty)
            {
                this.CalcuQ = calcuResistanceProperty.CalcuQ.HasValue ? Math.Round(calcuResistanceProperty.CalcuQ.Value, 1) : null;
                this.CalcuPr1 = calcuResistanceProperty.CalcuPr1.HasValue ? Math.Round(calcuResistanceProperty.CalcuPr1.Value, 2) : null;
                this.CalcuPr2 = calcuResistanceProperty.CalcuPr2.HasValue ? Math.Round(calcuResistanceProperty.CalcuPr2.Value, 2) : null;
            }
        }
    }
}