lixiaojun
2024-10-17 4cb1f00f84d160f97afd0fb86cf600e1be667dd5
WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-property/03-link/02-pump/HydroPumpPropertyViewModel.cs
ÎļþÃû´Ó WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-property/02-link/02-pump/HydroPumpPropertyViewModel.cs ÐÞ¸Ä
@@ -10,7 +10,7 @@
        /// <summary>
        /// 
        /// </summary>
        public HydroPumpPropertyViewModel() { }
        public HydroPumpPropertyViewModel() : base() { }
        /// <summary>
        /// 
@@ -25,21 +25,22 @@
            this.UpdatePropStatus(nameof(this.RatedH), rhs, nameof(rhs.RatedH));
            this.RatedN = rhs.RatedN;
            this.UpdatePropStatus(nameof(this.RatedN), rhs, nameof(rhs.RatedN));
            this.RatedHz = rhs.RatedHz;
            this.UpdatePropStatus(nameof(this.RatedHz), rhs, nameof(rhs.RatedHz));
            this.SpeedRatio = rhs.SpeedRatio;
            this.UpdatePropStatus(nameof(this.SpeedRatio), rhs, nameof(rhs.SpeedRatio));
            this.SpeedRatioPattern = rhs.SpeedRatioPattern;
            this.UpdatePropStatus(nameof(this.SpeedRatioPattern), rhs, nameof(rhs.SpeedRatioPattern));
            this.CurveQH = rhs.CurveQH;
            this.UpdatePropStatus(nameof(this.CurveQH), rhs, nameof(rhs.CurveQH));
            this.CurveQP = rhs.CurveQP;
            this.UpdatePropStatus(nameof(this.CurveQP), rhs, nameof(rhs.CurveQP));
            this.CurveQE = rhs.CurveQE;
            this.UpdatePropStatus(nameof(this.CurveQE), rhs, nameof(rhs.CurveQE));
            this.SpeedRatio = rhs.SpeedRatio;
            this.UpdatePropStatus(nameof(this.SpeedRatio), rhs, nameof(rhs.SpeedRatio));
            this.SpeedRatioPattern = rhs.SpeedRatioPattern;
            this.UpdatePropStatus(nameof(this.SpeedRatioPattern), rhs, nameof(rhs.SpeedRatioPattern));
            this.Price = rhs.Price;
            this.UpdatePropStatus(nameof(this.Price), rhs, nameof(rhs.Price));
            this.PricePattern = rhs.PricePattern;
            this.UpdatePropStatus(nameof(this.PricePattern), rhs, nameof(rhs.PricePattern));
            this.Curve = string.IsNullOrEmpty(rhs.CurveQH) ? "未设置" : "已设置";
        }
@@ -59,8 +60,8 @@
        [Category("数据")]
        [DisplayName("额定功率")]
        [PropertyOrder(101)]
        [Browsable(true)]
        [DisplayUnit("kW")]
        [Browsable(true)]
        public double RatedP { get; set; }
        /// <summary>
@@ -69,8 +70,8 @@
        [Category("数据")]
        [DisplayName("额定流量")]
        [PropertyOrder(102)]
        [Browsable(true)]
        [DisplayUnit("m³/h")]
        [Browsable(true)]
        public double? RatedQ { get; set; }
        /// <summary>
@@ -79,8 +80,8 @@
        [Category("数据")]
        [DisplayName("额定扬程")]
        [PropertyOrder(103)]
        [Browsable(true)]
        [DisplayUnit("m")]
        [Browsable(true)]
        public double? RatedH { get; set; }
        /// <summary>
@@ -89,16 +90,65 @@
        [Category("数据")]
        [DisplayName("额定转速")]
        [PropertyOrder(104)]
        [Browsable(true)]
        [DisplayUnit("r/min")]
        [Browsable(true)]
        public double? RatedN { get; set; }
        /// <summary>
        /// é¢å®šé¢‘率
        /// </summary>
        [Category("数据")]
        [DisplayName("额定频率")]
        [PropertyOrder(105)]
        [DisplayUnit("hz")]
        [Browsable(true)]
        public double RatedHz { get; set; }
        /// <summary>
        /// é¢‘率
        /// </summary>
        [Category("数据")]
        [DisplayName("频率")]
        [PropertyOrder(106)]
        [DisplayUnit("hz")]
        [Browsable(true)]
        public double CurrentHz
        {
            get { return this.SpeedRatio * this.RatedHz; }
            set
            {
                if (this.RatedHz <= 0)
                {
                    return;
                }
                this.SpeedRatio = value / this.RatedHz;
            }
        }
        /// <summary>
        /// è½¬é€Ÿæ¯”
        /// </summary>
        [Category("数据")]
        [DisplayName("转速比")]
        [PropertyOrder(107)]
        [Browsable(true)]
        public double SpeedRatio { get; set; }
        /// <summary>
        /// è½¬é€Ÿæ¯”模式
        /// </summary>
        [Category("数据")]
        [DisplayName("转速比模式")]
        [PropertyOrder(108)]
        [Browsable(true)]
        public string SpeedRatioPattern { get; set; }
        /// <summary>
        /// æ€§èƒ½æ›²çº¿
        /// </summary>
        [Category("数据")]
        [DisplayName("性能曲线")]
        [PropertyOrder(105)]
        [PropertyOrder(110)]
        [Browsable(true)]
        [IsHydroCurvePro(HydroCurve.Pump)]
        public string Curve { get; set; }
@@ -108,7 +158,7 @@
        /// </summary>
        [Category("数据")]
        [DisplayName("流量扬程曲线")]
        [PropertyOrder(106)]
        [PropertyOrder(111)]
        [IsHydroCurvePro(HydroCurve.PumpQH)]
        [Browsable(true)]
        public string CurveQH { get; set; }
@@ -118,7 +168,7 @@
        /// </summary>
        [Category("数据")]
        [DisplayName("流量功率曲线")]
        [PropertyOrder(107)]
        [PropertyOrder(112)]
        [IsHydroCurvePro(HydroCurve.PumpQP)]
        [Browsable(true)]
        public string CurveQP { get; set; }
@@ -128,35 +178,17 @@
        /// </summary>
        [Category("数据")]
        [DisplayName("流量效率曲线")]
        [PropertyOrder(108)]
        [PropertyOrder(113)]
        [IsHydroCurvePro(HydroCurve.PumpQE)]
        [Browsable(true)]
        public string CurveQE { get; set; }
        /// <summary>
        /// è½¬é€Ÿæ¯”
        /// </summary>
        [Category("数据")]
        [DisplayName("转速比")]
        [PropertyOrder(109)]
        [Browsable(true)]
        public double? SpeedRatio { get; set; }
        /// <summary>
        /// è½¬é€Ÿæ¯”模式
        /// </summary>
        [Category("数据")]
        [DisplayName("转速比模式")]
        [PropertyOrder(110)]
        [Browsable(true)]
        public string SpeedRatioPattern { get; set; }
        /// <summary>
        /// èƒ½è€—ä»·æ ¼
        /// </summary>
        [Category("数据")]
        [DisplayName("能耗价格")]
        [PropertyOrder(111)]
        [PropertyOrder(114)]
        [Browsable(true)]
        public double? Price { get; set; }
@@ -165,7 +197,7 @@
        /// </summary>
        [Category("数据")]
        [DisplayName("价格模式")]
        [PropertyOrder(112)]
        [PropertyOrder(115)]
        [Browsable(true)]
        public string PricePattern { get; set; }
@@ -173,8 +205,6 @@
        /// <summary>
        /// æ›´æ–°å±žæ€§
        /// </summary>
        /// <param name="rhs"></param>
        /// <param name="allParterList"></param>
        public override void UpdateProperty(HydroParterInfo rhs, List<HydroParterInfo> allParterList)
        {
            base.UpdateProperty(rhs, allParterList);
@@ -188,16 +218,18 @@
                this.UpdatePropStatus(nameof(this.RatedH), hydroPumpInfo, nameof(hydroPumpInfo.RatedH));
                this.RatedN = hydroPumpInfo.RatedN;
                this.UpdatePropStatus(nameof(this.RatedN), hydroPumpInfo, nameof(hydroPumpInfo.RatedN));
                this.RatedHz = hydroPumpInfo.RatedHz;
                this.UpdatePropStatus(nameof(this.RatedHz), hydroPumpInfo, nameof(hydroPumpInfo.RatedHz));
                this.SpeedRatio = hydroPumpInfo.SpeedRatio;
                this.UpdatePropStatus(nameof(this.SpeedRatio), hydroPumpInfo, nameof(hydroPumpInfo.SpeedRatio));
                this.SpeedRatioPattern = hydroPumpInfo.SpeedRatioPattern;
                this.UpdatePropStatus(nameof(this.SpeedRatioPattern), hydroPumpInfo, nameof(hydroPumpInfo.SpeedRatioPattern));
                this.CurveQH = hydroPumpInfo.CurveQH;
                this.UpdatePropStatus(nameof(this.CurveQH), hydroPumpInfo, nameof(hydroPumpInfo.CurveQH));
                this.CurveQP = hydroPumpInfo.CurveQP;
                this.UpdatePropStatus(nameof(this.CurveQP), hydroPumpInfo, nameof(hydroPumpInfo.CurveQP));
                this.CurveQE = hydroPumpInfo.CurveQE;
                this.UpdatePropStatus(nameof(this.CurveQE), hydroPumpInfo, nameof(hydroPumpInfo.CurveQE));
                this.SpeedRatio = hydroPumpInfo.SpeedRatio;
                this.UpdatePropStatus(nameof(this.SpeedRatio), hydroPumpInfo, nameof(hydroPumpInfo.SpeedRatio));
                this.SpeedRatioPattern = hydroPumpInfo.SpeedRatioPattern;
                this.UpdatePropStatus(nameof(this.SpeedRatioPattern), hydroPumpInfo, nameof(hydroPumpInfo.SpeedRatioPattern));
                this.Price = hydroPumpInfo.Price;
                this.UpdatePropStatus(nameof(this.Price), hydroPumpInfo, nameof(hydroPumpInfo.Price));
                this.PricePattern = hydroPumpInfo.PricePattern;