duheng
2024-10-24 e890e224a673855f9f609de1094d1701e224e66c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
using Yw.Model;
 
namespace Yw.WinFrmUI
{
    /// <summary>
    /// 阀门属性视图
    /// </summary>
    public class HydroValvePropertyViewModel : HydroLinkPropertyViewModel
    {
        /// <summary>
        /// 
        /// </summary>
        public HydroValvePropertyViewModel() { }
 
        /// <summary>
        /// 
        /// </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));
        }
 
 
        /// <summary>
        /// 阀门状态
        /// </summary>
        [Category("数据")]
        [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>
        /// 直径
        /// </summary>
        [Category("数据")]
        [DisplayName("直径")]
        [PropertyOrder(101)]
        [Browsable(true)]
        [DisplayUnit("mm")]
        public double Diameter { get; set; }
 
        /// <summary>
        /// 局阻系数
        /// </summary>
        [Category("数据")]
        [DisplayName("局阻系数")]
        [PropertyOrder(102)]
        [Browsable(true)]
        public double MinorLoss { get; set; }
 
        /// <summary>
        /// 阀门类型
        /// </summary>
        [Category("数据")]
        [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(105)]
        [IsHydroCurvePro(HydroCurve.ValveQL)]
        [Browsable(true)]
        public string ValveSetting { get; set; }
 
 
        /// <summary>
        /// 更新属性
        /// </summary>
        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));
            }
        }
 
 
    }
}