using Yw.Vmo;
|
|
namespace HStation.WinFrmUI
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public class SimulationWorkingHelper
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public SimulationWorkingHelper() { }
|
|
/// <summary>
|
/// 初始化事件
|
/// </summary>
|
public event Action InitialEvent;
|
|
/// <summary>
|
/// 是否初始化
|
/// </summary>
|
public bool Initialized
|
{
|
get { return this.Working != null; }
|
}
|
|
/// <summary>
|
/// 水力信息
|
/// </summary>
|
public Yw.Model.HydroModelInfo HydroInfo
|
{
|
get { return _hydroInfo; }
|
private set { _hydroInfo = value; }
|
}
|
private Yw.Model.HydroModelInfo _hydroInfo = null;
|
|
/// <summary>
|
/// 工况
|
/// </summary>
|
public HydroWorkingVmo Working
|
{
|
get { return _working; }
|
private set { _working = value; }
|
}
|
private HydroWorkingVmo _working = null;
|
|
/// <summary>
|
/// 检查结果
|
/// </summary>
|
public HydroCheckResult CheckResult
|
{
|
get { return _checkResult; }
|
private set { _checkResult = value; }
|
}
|
private HydroCheckResult _checkResult = null;
|
|
/// <summary>
|
/// 计算结果
|
/// </summary>
|
public HydroCalcuResult CalcuResult
|
{
|
get { return _calcuResult; }
|
private set { _calcuResult = value; }
|
}
|
private HydroCalcuResult _calcuResult = null;
|
|
/// <summary>
|
/// 是否是绝对压力
|
/// </summary>
|
public bool IsHead
|
{
|
get { return _isHead; }
|
private set { _isHead = value; }
|
}
|
private bool _isHead = false;
|
|
/// <summary>
|
/// 初始化数据
|
/// </summary>
|
public void InitialData
|
(
|
Yw.Model.HydroModelInfo hydroInfo,
|
HydroWorkingVmo working,
|
HydroCheckResult checkResult,
|
HydroCalcuResult calcuResult,
|
bool isHead = false
|
)
|
{
|
this.HydroInfo = hydroInfo;
|
this.Working = working;
|
this.CheckResult = checkResult;
|
this.CalcuResult = calcuResult;
|
this.IsHead = isHead;
|
this.InitialEvent?.Invoke();
|
}
|
|
/// <summary>
|
/// 重置工况
|
/// </summary>
|
public void ResetWorking(HydroWorkingVmo working)
|
{
|
this.Working = working;
|
}
|
|
/// <summary>
|
/// 重置结果
|
/// </summary>
|
public void ResetResult(bool isHead = false)
|
{
|
if (!Initialized)
|
{
|
return;
|
}
|
if (this.IsHead == isHead)
|
{
|
return;
|
}
|
this.IsHead = isHead;
|
var calcuResult = this.HydroInfo.Calcu(Yw.EPAnet.CalcuMode.MinorLoss, isHead);
|
this.CalcuResult = calcuResult;
|
this.InitialEvent?.Invoke();
|
}
|
|
|
}
|
}
|