namespace Yw.WinFrmUI { /// /// /// public class HydroMonitorAnalyHelper { /// /// 创建 /// public static HydroMonitorAnalyViewModel Create ( Yw.Model.HydroModelInfo hydroInfo, List allMonitorList, Yw.Vmo.HydroWorkingVmo working, HydroCalcuResult calcuResult = null, bool isHead = false, List allEvaluationList = null ) { //验证 if (hydroInfo == null) { return default; } if (allMonitorList == null || allMonitorList.Count < 1) { return default; } if (working == null) { return default; } var vm = new HydroMonitorAnalyViewModel(); //构件列表 var allVisualDict = hydroInfo.GetVisualDict(); if (allVisualDict == null || allVisualDict.Count < 1) { return vm; } //计算结果 if (calcuResult == null) { hydroInfo.UpdateWorkingInfo(working.WorkingInfo); calcuResult = hydroInfo.Calcu(Yw.EPAnet.CalcuMode.MinorLoss, isHead, allEvaluationList); if (!calcuResult.Succeed) { return vm; } } var allCalcuVisualDict = calcuResult.GetVisualDict(); //遍历测点 vm.Items = new List(); foreach (var monitor in allMonitorList) { var item = new HydroMonitorAnalyItemViewModel(monitor, allVisualDict, allCalcuVisualDict); vm.Items.Add(item); } return vm; } } }