From a2f11a5e60bb577fb793949191793a59953e236b Mon Sep 17 00:00:00 2001 From: Shuxia Ning <NingShuxia0927@outlook.com> Date: 星期一, 02 十二月 2024 15:22:44 +0800 Subject: [PATCH] Name 属性 --- WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-extensions/HydroModelInfoExtensions.cs | 64 +++++++++++++++++++++++++++++-- 1 files changed, 59 insertions(+), 5 deletions(-) diff --git a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-extensions/HydroModelInfoExtensions.cs b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-extensions/HydroModelInfoExtensions.cs index 9dc99eb..307d841 100644 --- a/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-extensions/HydroModelInfoExtensions.cs +++ b/WinFrmUI/Yw.WinFrmUI.Hydro.Core/00-core/05-extensions/HydroModelInfoExtensions.cs @@ -1,8 +1,5 @@ -锘縰sing System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; +锘縰sing Yw.EPAnet; +using Yw.Hydro; using Yw.Model; namespace Yw.WinFrmUI @@ -25,6 +22,63 @@ return allVisualList?.ToDictionary(x => x.Code); } + /// <summary> + /// 淇 + /// </summary> + public static bool Repair(this Yw.Model.HydroModelInfo hydroInfo, out string msg) + { + msg = string.Empty; + if (hydroInfo == null) + { + return false; + } + + var checkResult = hydroInfo.Check(); + if (!checkResult.Succeed) + { + msg = "妫�鏌ュけ璐ュ鑷存棤娉曡繘琛岃瘯绠楋紝鍋滄绠$綉淇锛�"; + return false; + } + + var calcuResult = hydroInfo.Calcu(Yw.EPAnet.CalcuMode.Simple); + if (!calcuResult.Succeed) + { + msg = "璇曠畻澶辫触锛屽仠姝㈢缃戜慨澶嶏紒"; + return false; + } + + var allLinkList = hydroInfo.GetAllLinks(); + if (allLinkList != null && allLinkList.Count < 1) + { + msg = "妯″瀷涓湭鍖呭惈绠℃淇℃伅锛屽仠姝㈢缃戜慨澶嶏紒"; + return false; + } + + int count = 0; + foreach (var link in allLinkList) + { + var calcuLink = calcuResult.LinkList?.Find(x => x.Code == link.Code); + if (calcuLink == null) + { + continue; + } + if (!calcuLink.CalcuFlow.HasValue) + { + continue; + } + if (calcuLink.CalcuFlow.Value < 0) + { + var tempCode = link.StartCode; + link.StartCode = link.EndCode; + link.EndCode = tempCode; + count++; + } + } + + msg = $"淇瀹屾垚锛屽叡淇绠℃({count})涓紒"; + return true; + } + } } -- Gitblit v1.9.3