namespace Yw.WinFrmUI
{
///
///
///
public static class HydroModelInfoExtensions
{
///
/// 更新工况信息
///
public static void UpdateWorkingInfo(this Yw.Model.HydroModelInfo hydroInfo, HydroWorkingInfoViewModel workingInfo)
{
if (hydroInfo == null)
{
return;
}
if (workingInfo == null)
{
return;
}
//水箱
if (hydroInfo.Waterboxs != null && hydroInfo.Waterboxs.Count > 0)
{
foreach (var parter in hydroInfo.Waterboxs)
{
var parterWorkingInfo = workingInfo.Waterboxs?.Find(x => x.Code == parter.Code);
if (parterWorkingInfo != null)
{
parter.InitLevel = parterWorkingInfo.InitLevel;
}
}
}
//水泵
if (hydroInfo.Pumps != null && hydroInfo.Pumps.Count > 0)
{
foreach (var parter in hydroInfo.Pumps)
{
var parterWorkingInfo = workingInfo.Pumps?.Find(x => x.Code == parter.Code);
if (parterWorkingInfo != null)
{
parter.LinkStatus = parterWorkingInfo.LinkStatus;
parter.SpeedRatio = parterWorkingInfo.CurrentHz / parter.RatedHz;
}
}
}
//阀门
if (hydroInfo.Valves != null && hydroInfo.Valves.Count > 0)
{
foreach (var parter in hydroInfo.Valves)
{
var parterWorkingInfo = workingInfo.Valves?.Find(x => x.Code == parter.Code);
if (parterWorkingInfo != null)
{
parter.LinkStatus = parterWorkingInfo.LinkStatus;
parter.OpeningDegree = parterWorkingInfo.OpeningDegree;
}
}
}
}
}
}