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