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; } } } } } }