duheng
2024-12-24 b826e3716742abba49ab2a851b943ea8328db66e
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
129
using Yw.Vmo;
 
namespace HStation.WinFrmUI
{
    /// <summary>
    /// 计算结果辅助类
    /// </summary>
    public class SimulationCalcuResultHelper
    {
        /// <summary>
        /// 
        /// </summary>
        public SimulationCalcuResultHelper
            (
                SimulationWorkingHelper workingHelper
            )
        {
            _workingHelper = workingHelper;
            workingHelper.InitialEvent += () => Initial();
            Initial();
        }
 
        /// <summary>
        /// 初始化事件
        /// </summary>
        public event Action InitialEvent;
 
        private SimulationWorkingHelper _workingHelper = null;//工况辅助类
        private Dictionary<string, HydroCalcuVisualResult> _dict;//计算结果可见字典
 
        //初始化
        private void Initial()
        {
            _dict = _workingHelper.CalcuResult?.GetVisualDict();
            this.InitialEvent?.Invoke();
        }
 
        /// <summary>
        /// 是否初始化
        /// </summary>
        public bool Initialized
        {
            get { return _workingHelper.Initialized; }
        }
 
        /// <summary>
        /// 水力信息
        /// </summary>
        public Yw.Model.HydroModelInfo HydroInfo
        {
            get { return _workingHelper.HydroInfo; }
        }
 
        /// <summary>
        /// 工况
        /// </summary>
        public HydroWorkingVmo Working
        {
            get { return _workingHelper.Working; }
        }
 
        /// <summary>
        /// 检查结果
        /// </summary>
        public HydroCheckResult CheckResult
        {
            get { return _workingHelper.CheckResult; }
        }
 
        /// <summary>
        /// 计算结果
        /// </summary>
        public HydroCalcuResult CalcuResult
        {
            get { return _workingHelper.CalcuResult; }
        }
 
        /// <summary>
        /// 获取可见字典
        /// </summary>
        public Dictionary<string, HydroCalcuVisualResult> GetVisualDict()
        {
            return _dict;
        }
 
        /// <summary>
        /// 获取可见列表
        /// </summary>
        public List<HydroCalcuVisualResult> GetVisualList()
        {
            return _dict?.Values.ToList();
        }
 
        /// <summary>
        /// 获取可见
        /// </summary>
        public HydroCalcuVisualResult GetVisual(string code)
        {
            return _dict?.GetValue(code);
        }
 
        /// <summary>
        /// 获取可见列表
        /// </summary>
        public List<HydroCalcuVisualResult> GetVisualList(List<string> codes)
        {
            return codes?.Select(x => GetVisual(x)).Where(x => x != null).ToList();
        }
 
        /// <summary>
        /// 获取节点列表
        /// </summary>
        public List<HydroCalcuNodeResult> GetNodeList()
        {
            return this.CalcuResult?.NodeList?.ToList();
        }
 
        /// <summary>
        /// 获取管段列表
        /// </summary>
        public List<HydroCalcuLinkResult> GetLinkList()
        {
            return this.CalcuResult?.LinkList?.ToList();
        }
 
 
 
    }
}