using Yw.Vmo;
namespace HStation.WinFrmUI
{
///
/// 工况选择列表辅助类
///
public class SimulationWorkingCheckedListHelper
{
///
///
///
public SimulationWorkingCheckedListHelper(SimulationVisualListHelper visualListHelper)
{
_visualListHelper = visualListHelper;
}
private SimulationVisualListHelper _visualListHelper = null;//可见列表辅助类
private Dictionary _allWorkingCheckedListDict = null;//所有工况选择列表字典
///
/// 初始化数据
///
public void InitialData(Dictionary allWorkingCheckedListDict)
{
_allWorkingCheckedListDict = allWorkingCheckedListDict;
}
///
/// 获取工况列表
///
public List GetWorkingList()
{
return _allWorkingCheckedListDict?.Keys.OrderBy(x => x.SortCode).ToList();
}
///
/// 获取选择工况列表
///
public List GetCheckedWorkingList()
{
if (_allWorkingCheckedListDict == null)
{
return default;
}
return _allWorkingCheckedListDict.Where(x => x.Value).Select(x => x.Key).OrderBy(x => x.SortCode).ToList();
}
///
/// 更新
///
public void Update(HydroWorkingVmo working, bool hasChecked)
{
if (_allWorkingCheckedListDict == null)
{
_allWorkingCheckedListDict = new Dictionary();
}
if (_allWorkingCheckedListDict.ContainsKey(working))
{
_allWorkingCheckedListDict[working] = hasChecked;
}
else
{
_allWorkingCheckedListDict.Add(working, hasChecked);
}
}
}
}