using Yw.Vmo; namespace HStation.WinFrmUI { /// /// 工况选择列表辅助类 /// public class SimulationWorkingCheckedListHelper { /// /// /// public SimulationWorkingCheckedListHelper() { } private Dictionary _allWorkingCheckedListDict = null;//所有工况选择列表字典 /// /// 初始化数据 /// public void InitialData(Dictionary allWorkingCheckedListDict) { _allWorkingCheckedListDict = allWorkingCheckedListDict; } /// /// 获取工况字典 /// public Dictionary GetWorkingDict() { return _allWorkingCheckedListDict == null ? null : new Dictionary(_allWorkingCheckedListDict); } /// /// 获取工况列表 /// public List GetWorkingList() { return _allWorkingCheckedListDict?.Keys.OrderBy(x => x.SortCode).ToList(); } /// /// 获取选择工况列表 /// public List GetCheckedWorkingList() { return _allWorkingCheckedListDict?.Where(x => x.Value).Select(x => x.Key).OrderBy(x => x.SortCode).ToList(); } /// /// 更新 /// public void Update(HydroWorkingVmo working) { if (working == null) { return; } if (_allWorkingCheckedListDict == null) { return; } var key = _allWorkingCheckedListDict.Keys.Where(x => x.ID == working.ID).FirstOrDefault(); if (key != null) { var hasChecked = _allWorkingCheckedListDict[key]; _allWorkingCheckedListDict.Remove(key); _allWorkingCheckedListDict.Add(working, hasChecked); } } /// /// 更新 /// public void Update(HydroWorkingVmo working, bool hasChecked) { if (working == null) { return; } if (_allWorkingCheckedListDict == null) { _allWorkingCheckedListDict = new Dictionary(); } var key = _allWorkingCheckedListDict.Keys.Where(x => x.ID == working.ID).FirstOrDefault(); if (key != null) { _allWorkingCheckedListDict.Remove(key); } _allWorkingCheckedListDict.Add(working, hasChecked); } /// /// 移除 /// public void Remove(HydroWorkingVmo working) { if (working == null) { return; } if (_allWorkingCheckedListDict == null) { return; } var key = _allWorkingCheckedListDict.Keys.ToList().Find(x => x.ID == working.ID); if (key != null) { _allWorkingCheckedListDict.Remove(key); } } } }