using Yw.Model; namespace HStation.WinFrmUI { /// /// 可见列表辅助类 /// public class SimulationVisualListHelper { /// /// /// public SimulationVisualListHelper() { } /// /// 水力信息 /// public HydroModelInfo HydroInfo { get { return _hydroInfo; } private set { _hydroInfo = value; } } private HydroModelInfo _hydroInfo = null; private Dictionary _dict;//字典 /// /// 初始化数据 /// public void InitialData(HydroModelInfo hydroInfo) { this.HydroInfo = hydroInfo; if (this.HydroInfo == null) { return; } _dict = hydroInfo?.GetVisualDict(); } /// /// 获取可见字典 /// public Dictionary GetVisualDict() { return _dict; } /// /// 获取可见列表 /// public List GetVisualList() { return _dict?.Values.ToList(); } /// /// 获取节点列表 /// public List GetNodeList() { var nodes = _hydroInfo?.GetAllNodes(); return nodes; } /// /// 获取水源列表 /// public List GetSourceList() { var sources = _hydroInfo?.GetAllSources(); return sources; } /// /// 获取管段列表 /// public List GetLinkList() { var links = _hydroInfo?.GetAllLinks(); return links; } /// /// 获取可视构件 /// public HydroVisualInfo GetVisual(string code) { if (_dict == null || _dict.Count < 1) { return default; } if (_dict.ContainsKey(code)) { return _dict[code]; } return default; } /// /// 获取可视构件列表 /// public List GetVisualList(List codes) { if (codes == null || codes.Count < 1) { return default; } var list = codes.Select(x => GetVisual(x)).Where(x => x != null).ToList(); return list; } } }