lixiaojun
2024-11-09 c9585ab171fb973d16792d7a290994bf8279da63
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
namespace Yw.WinFrmUI
{
    /// <summary>
    /// 水力可见组件属性视图创建辅助类
    /// </summary>
    public static class HydroVisualViewModelBuilder
    {
        /// <summary>
        /// 创建可见视图
        /// </summary>
        public static HydroVisualViewModel CreateVisualViewModel(this Yw.Model.HydroVisualInfo rhs, Yw.Model.HydroModelInfo hydroInfo)
        {
            if (rhs == null)
            {
                return default;
            }
            HydroVisualViewModel vm = null;
            switch (rhs.Catalog)
            {
                case Yw.Hydro.ParterCatalog.Reservoir://水库
                    {
                        vm = new HydroReservoirViewModel(rhs as Yw.Model.HydroReservoirInfo, hydroInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Tank://水池
                    {
                        vm = new HydroTankViewModel(rhs as Yw.Model.HydroTankInfo, hydroInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Waterbox://水箱
                    {
                        vm = new HydroWaterboxViewModel(rhs as Yw.Model.HydroWaterboxInfo, hydroInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Junction://连接节点
                    {
                        vm = new HydroJunctionViewModel(rhs as Yw.Model.HydroJunctionInfo, hydroInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Nozzle://喷嘴
                    {
                        vm = new HydroNozzleViewModel(rhs as Yw.Model.HydroNozzleInfo, hydroInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Hydrant://消火栓
                    {
                        vm = new HydroHydrantViewModel(rhs as Yw.Model.HydroHydrantInfo, hydroInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Blunthead://闷头
                    {
                        vm = new HydroBluntheadViewModel(rhs as Yw.Model.HydroBluntheadInfo, hydroInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Elbow://弯头
                    {
                        vm = new HydroElbowViewModel(rhs as Yw.Model.HydroElbowInfo, hydroInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Threelink://三通
                    {
                        vm = new HydroThreelinkViewModel(rhs as Yw.Model.HydroThreelinkInfo, hydroInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Fourlink://四通
                    {
                        vm = new HydroFourlinkViewModel(rhs as Yw.Model.HydroFourlinkInfo, hydroInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Meter://水表
                    {
                        vm = new HydroMeterViewModel(rhs as Yw.Model.HydroMeterInfo, hydroInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Flowmeter://流量计
                    {
                        vm = new HydroFlowmeterViewModel(rhs as Yw.Model.HydroFlowmeterInfo, hydroInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Pressmeter://压力表
                    {
                        vm = new HydroPressmeterViewModel(rhs as Yw.Model.HydroPressmeterInfo, hydroInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Pipe://管道
                    {
                        vm = new HydroPipeViewModel(rhs as Yw.Model.HydroPipeInfo, hydroInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Translation://过渡件
                    {
                        vm = new HydroTranslationViewModel(rhs as Yw.Model.HydroTranslationInfo, hydroInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Pump://水泵
                    {
                        vm = new HydroPumpViewModel(rhs as Yw.Model.HydroPumpInfo, hydroInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Valve://阀门
                    {
                        vm = new HydroValveViewModel(rhs as Yw.Model.HydroValveInfo, hydroInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Exchanger://换热器
                    {
                        vm = new HydroExchangerViewModel(rhs as Yw.Model.HydroExchangerInfo, hydroInfo);
                    }
                    break;
                case Yw.Hydro.ParterCatalog.Compressor://压缩机
                    {
                        vm = new HydroCompressorViewModel(rhs as Yw.Model.HydroCompressorInfo, hydroInfo);
                    }
                    break;
                default: break;
            }
            return vm;
        }
 
 
    }
}