lixiaojun
2024-10-17 4cb1f00f84d160f97afd0fb86cf600e1be667dd5
WinFrmUI/Yw.WinFrmUI.Hydro.Core/03-property/03-link/03-valve/HydroValvePropertyViewModel.cs
@@ -17,10 +17,18 @@
        /// </summary>
        public HydroValvePropertyViewModel(Yw.Model.HydroValveInfo rhs) : base(rhs)
        {
            this.Material = rhs.Material;
            this.UpdatePropStatus(nameof(this.Material), rhs, nameof(rhs.Material));
            this.Diameter = rhs.Diameter;
            this.UpdatePropStatus(nameof(this.Diameter), rhs, nameof(rhs.Diameter));
            this.MinorLoss = rhs.MinorLoss;
            this.UpdatePropStatus(nameof(this.MinorLoss), rhs, nameof(rhs.MinorLoss));
            this.ValveType = rhs.ValveType;
            this.UpdatePropStatus(nameof(this.ValveType), rhs, nameof(rhs.ValveType));
            this.OpeningDegree = rhs.OpeningDegree;
            this.UpdatePropStatus(nameof(this.OpeningDegree), rhs, nameof(rhs.OpeningDegree));
            this.ValveSetting = rhs.ValveSetting;
            this.UpdatePropStatus(nameof(this.ValveSetting), rhs, nameof(rhs.ValveSetting));
        }
@@ -31,7 +39,17 @@
        [DisplayName("阀门状态")]
        [PropertyOrder(13)]
        [Browsable(true)]
        [TypeConverter(typeof(HydroValveStatusConverter))]
        public override string LinkStatus { get; set; }
        /// <summary>
        /// 材料
        /// </summary>
        [Category("数据")]
        [DisplayName("材料")]
        [PropertyOrder(100)]
        [Browsable(true)]
        public string Material { get; set; }
        /// <summary>
        /// 直径
@@ -40,13 +58,14 @@
        [DisplayName("直径")]
        [PropertyOrder(101)]
        [Browsable(true)]
        [DisplayUnit("mm")]
        public double Diameter { get; set; }
        /// <summary>
        /// 局部阻力系数
        /// 局阻系数
        /// </summary>
        [Category("数据")]
        [DisplayName("局部阻力系数")]
        [DisplayName("局阻系数")]
        [PropertyOrder(102)]
        [Browsable(true)]
        public double MinorLoss { get; set; }
@@ -58,32 +77,49 @@
        [DisplayName("阀门类型")]
        [PropertyOrder(103)]
        [Browsable(true)]
        [TypeConverter(typeof(HydroValveTypeConverter))]
        public string ValveType { get; set; }
        /// <summary>
        /// 阀门开度
        /// </summary>
        [Category("数据")]
        [DisplayName("阀门开度")]
        [PropertyOrder(104)]
        [Browsable(true)]
        public double OpeningDegree { get; set; }
        /// <summary>
        /// 阀门设置
        /// </summary>
        [Category("数据")]
        [DisplayName("阀门设置")]
        [PropertyOrder(104)]
        [PropertyOrder(105)]
        [IsHydroCurvePro(HydroCurve.ValveQL)]
        [Browsable(true)]
        public string ValveSetting { get; set; }
        /// <summary>
        /// 更新属性
        /// </summary>
        /// <param name="rhs"></param>
        /// <param name="allParterList"></param>
        public override void UpdateProperty(HydroParterInfo rhs, List<HydroParterInfo> allParterList)
        {
            base.UpdateProperty(rhs, allParterList);
            if (rhs is Yw.Model.HydroValveInfo hydroValveInfo)
            {
                this.Material = hydroValveInfo.Material;
                this.UpdatePropStatus(nameof(this.Material), hydroValveInfo, nameof(hydroValveInfo.Material));
                this.Diameter = hydroValveInfo.Diameter;
                this.UpdatePropStatus(nameof(this.Diameter), hydroValveInfo, nameof(hydroValveInfo.Diameter));
                this.MinorLoss = hydroValveInfo.MinorLoss;
                this.UpdatePropStatus(nameof(this.MinorLoss), hydroValveInfo, nameof(hydroValveInfo.MinorLoss));
                this.ValveType = hydroValveInfo.ValveType;
                this.UpdatePropStatus(nameof(this.ValveType), hydroValveInfo, nameof(hydroValveInfo.ValveType));
                this.OpeningDegree = hydroValveInfo.OpeningDegree;
                this.UpdatePropStatus(nameof(this.OpeningDegree), hydroValveInfo, nameof(hydroValveInfo.OpeningDegree));
                this.ValveSetting = hydroValveInfo.ValveSetting;
                this.UpdatePropStatus(nameof(this.ValveSetting), hydroValveInfo, nameof(hydroValveInfo.ValveSetting));
            }
        }