namespace Yw.WinFrmUI
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public static class HydroModelInfoExtensions
|
{
|
/// <summary>
|
/// 更新工况信息
|
/// </summary>
|
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 = Math.Round(parterWorkingInfo.CurrentHz / parter.RatedHz, 1);
|
}
|
}
|
}
|
|
//阀门
|
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;
|
}
|
}
|
}
|
|
//流量计
|
if (hydroInfo.Flowmeters != null && hydroInfo.Flowmeters.Count > 0)
|
{
|
foreach (var parter in hydroInfo.Flowmeters)
|
{
|
var parterWorkingInfo = workingInfo.Flowmeters?.Find(x => x.Code == parter.Code);
|
if (parterWorkingInfo != null)
|
{
|
parter.CurrentFlow = parterWorkingInfo.CurrentFlow;
|
}
|
}
|
}
|
|
//压力表
|
if (hydroInfo.Pressmeters != null && hydroInfo.Pressmeters.Count > 0)
|
{
|
foreach (var parter in hydroInfo.Pressmeters)
|
{
|
var parterWorkingInfo = workingInfo.Pressmeters?.Find(x => x.Code == parter.Code);
|
if (parterWorkingInfo != null)
|
{
|
parter.CurrentPress = parterWorkingInfo.CurrentPress;
|
}
|
}
|
}
|
|
}
|
|
|
|
}
|
}
|