namespace Yw.WinFrmUI
{
///
///
///
public static class HydroInputEnergyScaleHelper
{
///
/// 获取分类损失比例列表
///
public static List GetAllInputEnergyScaleList
(
this Yw.Model.HydroModelInfo hydroInfo,
HydroCalcuResult calcuResult,
List allEnergyList
)
{
if (hydroInfo == null)
{
return default;
}
var allScaleList = new List();
if (allEnergyList != null && allEnergyList.Count > 0)
{
var allInputEnergyList = allEnergyList.Where(x => x.EnergyType == EPAnet.eEnergyType.Input).ToList();
var inputEnergyScale = new HydroInputEnergyScaleViewModel()
{
EnergyName = "初始势能",
EnergyValue = allInputEnergyList.Count > 0 ? allInputEnergyList.Sum(x => x.EnergyPower) : 0
};
allScaleList.Add(inputEnergyScale);
}
if (hydroInfo.Pumps != null && hydroInfo.Pumps.Count > 0)
{
var allCalcuResultVisualDict = calcuResult?.GetVisualDict();
var inputEnergyScale = new HydroInputEnergyScaleViewModel() { EnergyName = "水泵提升" };
foreach (var pump in hydroInfo.Pumps)
{
var calcuPumpResult = allCalcuResultVisualDict?.GetValue(pump.Code) as HydroCalcuPumpResult;
if (calcuPumpResult != null)
{
if (calcuPumpResult.CalcuP.HasValue)
{
inputEnergyScale.EnergyValue += calcuPumpResult.CalcuP.Value * 1000;
}
}
}
allScaleList.Add(inputEnergyScale);
}
return allScaleList;
}
}
}