From 7ddeb60ea935a8e1cfb2e835f7ba6898879d5716 Mon Sep 17 00:00:00 2001
From: lixiaojun <1287241240@qq.com>
Date: 星期二, 05 十一月 2024 13:03:06 +0800
Subject: [PATCH] 增加属性相关更新方法

---
 Hydro/Yw.Hydro.Core/ParseHelper.cs |   84 +++++++++++++++++++++++++++++------------
 1 files changed, 59 insertions(+), 25 deletions(-)

diff --git a/Hydro/Yw.Hydro.Core/ParseHelper.cs b/Hydro/Yw.Hydro.Core/ParseHelper.cs
index 6030acd..a7dc48f 100644
--- a/Hydro/Yw.Hydro.Core/ParseHelper.cs
+++ b/Hydro/Yw.Hydro.Core/ParseHelper.cs
@@ -1,6 +1,4 @@
-锘縰sing System.Transactions;
-
-namespace Yw.Hydro
+锘縩amespace Yw.Hydro
 {
     /// <summary>
     /// 瑙f瀽杈呭姪绫�
@@ -28,7 +26,7 @@
                     var junctionModel = new Junction();
                     junctionModel.Id = junction.Code;
                     junctionModel.Name = junction.Name;
-                    junctionModel.Quality = junction.Quality;
+                    junctionModel.Quality = 0;
                     junctionModel.Position = new Position2d(junction.Position2d.X, junction.Position2d.Y);
                     junctionModel.Elev = junction.Elev;
                     junctionModel.Demand = junction.Demand;
@@ -46,7 +44,7 @@
                     var nozzleModel = new Nozzle();
                     nozzleModel.Id = nozzle.Code;
                     nozzleModel.Name = nozzle.Name;
-                    nozzleModel.Quality = nozzle.Quality;
+                    nozzleModel.Quality = 0;
                     nozzleModel.Position = new Position2d(nozzle.Position2d.X, nozzle.Position2d.Y);
                     nozzleModel.Elev = nozzle.Elev;
                     nozzleModel.Demand = nozzle.Demand;
@@ -64,7 +62,7 @@
                     var hydrantModel = new Hydrant();
                     hydrantModel.Id = hydrant.Code;
                     hydrantModel.Name = hydrant.Name;
-                    hydrantModel.Quality = hydrant.Quality;
+                    hydrantModel.Quality = 0;
                     hydrantModel.Position = new Position2d(hydrant.Position2d.X, hydrant.Position2d.Y);
                     hydrantModel.Elev = hydrant.Elev;
                     hydrantModel.Demand = hydrant.Demand;
@@ -82,7 +80,7 @@
                     var elbowModel = new Junction();
                     elbowModel.Id = elbow.Code;
                     elbowModel.Name = elbow.Name;
-                    elbowModel.Quality = elbow.Quality;
+                    elbowModel.Quality = 0;
                     elbowModel.Position = new Position2d(elbow.Position2d.X, elbow.Position2d.Y);
                     elbowModel.Elev = elbow.Elev;
                     elbowModel.Demand = elbow.Demand;
@@ -99,7 +97,7 @@
                     var threelinkModel = new Junction();
                     threelinkModel.Id = threelink.Code;
                     threelinkModel.Name = threelink.Name;
-                    threelinkModel.Quality = threelink.Quality;
+                    threelinkModel.Quality = 0;
                     threelinkModel.Position = new Position2d(threelink.Position2d.X, threelink.Position2d.Y);
                     threelinkModel.Elev = threelink.Elev;
                     threelinkModel.Demand = threelink.Demand;
@@ -116,7 +114,7 @@
                     var fourlinkModel = new Junction();
                     fourlinkModel.Id = fourlink.Code;
                     fourlinkModel.Name = fourlink.Name;
-                    fourlinkModel.Quality = fourlink.Quality;
+                    fourlinkModel.Quality = 0;
                     fourlinkModel.Position = new Position2d(fourlink.Position2d.X, fourlink.Position2d.Y);
                     fourlinkModel.Elev = fourlink.Elev;
                     fourlinkModel.Demand = fourlink.Demand;
@@ -133,7 +131,7 @@
                     var meterModel = new Meter();
                     meterModel.Id = meter.Code;
                     meterModel.Name = meter.Name;
-                    meterModel.Quality = meter.Quality;
+                    meterModel.Quality = 0;
                     meterModel.Position = new Position2d(meter.Position2d.X, meter.Position2d.Y);
                     meterModel.Elev = meter.Elev;
                     meterModel.Demand = meter.Demand;
@@ -150,7 +148,7 @@
                     var flowmeterModel = new Junction();
                     flowmeterModel.Id = flowmeter.Code;
                     flowmeterModel.Name = flowmeter.Name;
-                    flowmeterModel.Quality = flowmeter.Quality;
+                    flowmeterModel.Quality = 0;
                     flowmeterModel.Position = new Position2d(flowmeter.Position2d.X, flowmeter.Position2d.Y);
                     flowmeterModel.Elev = flowmeter.Elev;
                     flowmeterModel.Demand = flowmeter.Demand;
@@ -167,7 +165,7 @@
                     var pressmeterModel = new Junction();
                     pressmeterModel.Id = pressmeter.Code;
                     pressmeterModel.Name = pressmeter.Name;
-                    pressmeterModel.Quality = pressmeter.Quality;
+                    pressmeterModel.Quality = 0;
                     pressmeterModel.Position = new Position2d(pressmeter.Position2d.X, pressmeter.Position2d.Y);
                     pressmeterModel.Elev = pressmeter.Elev;
                     pressmeterModel.Demand = pressmeter.Demand;
@@ -184,7 +182,7 @@
                     var bluntheadModel = new Junction();
                     bluntheadModel.Id = blunthead.Code;
                     bluntheadModel.Name = blunthead.Name;
-                    bluntheadModel.Quality = blunthead.Quality;
+                    bluntheadModel.Quality = 0;
                     bluntheadModel.Position = new Position2d(blunthead.Position2d.X, blunthead.Position2d.Y);
                     bluntheadModel.Elev = blunthead.Elev;
                     bluntheadModel.Demand = blunthead.Demand;
@@ -201,7 +199,7 @@
                     var reservoirModel = new Reservoir();
                     reservoirModel.Id = reservoir.Code;
                     reservoirModel.Name = reservoir.Name;
-                    reservoirModel.Quality = reservoir.Quality;
+                    reservoirModel.Quality = 0;
                     reservoirModel.Position = new Position2d(reservoir.Position2d.X, reservoir.Position2d.Y);
                     reservoirModel.PoolElev = reservoir.PoolElev.HasValue ? reservoir.PoolElev.Value : 0;
                     reservoirModel.Head = reservoir.Head;
@@ -218,7 +216,7 @@
                     var tankModel = new Tank();
                     tankModel.Id = tank.Code;
                     tankModel.Name = tank.Name;
-                    tankModel.Quality = tank.Quality;
+                    tankModel.Quality = 0;
                     tankModel.Position = new Position2d(tank.Position2d.X, tank.Position2d.Y);
                     tankModel.PoolElev = tank.PoolElev;
                     tankModel.InitLevel = tank.InitLevel;
@@ -226,7 +224,7 @@
                     tankModel.MinLevel = tank.MinLevel;
                     tankModel.MinVol = tank.MinVol;
                     tankModel.VolCurve = tank.VolCurve;
-                    tankModel.Diameter = tank.Diameter;
+                    tankModel.Diameter = tank.DN;
                     netWork.Tanks.Add(tankModel);
                 }
             }
@@ -239,7 +237,7 @@
                     var waterboxModel = new Tank();
                     waterboxModel.Id = waterbox.Code;
                     waterboxModel.Name = waterbox.Name;
-                    waterboxModel.Quality = waterbox.Quality;
+                    waterboxModel.Quality = 0;
                     waterboxModel.Position = new Position2d(waterbox.Position2d.X, waterbox.Position2d.Y);
                     waterboxModel.PoolElev = waterbox.PoolElev;
                     waterboxModel.InitLevel = waterbox.InitLevel;
@@ -247,7 +245,8 @@
                     waterboxModel.MinLevel = waterbox.MinLevel;
                     waterboxModel.MinVol = waterbox.MinVol;
                     waterboxModel.VolCurve = waterbox.VolCurve;
-                    waterboxModel.Diameter = waterbox.Diameter;
+                    waterboxModel.Diameter = waterbox.DN;
+                    waterboxModel.Overflow = waterbox.OverFlow;
                     netWork.Tanks.Add(waterboxModel);
                 }
             }
@@ -301,17 +300,34 @@
             {
                 foreach (var exchanger in model.Exchangers)
                 {
-                    var exchangerModel = new Pipe();
+                    var exchangerModel = new HeatExchanger();
                     exchangerModel.Id = exchanger.Code;
                     exchangerModel.Name = exchanger.Name;
                     exchangerModel.StartNode = allNodes.Find(x => x.Id == exchanger.StartCode);
                     exchangerModel.EndNode = allNodes.Find(x => x.Id == exchanger.EndCode);
                     exchangerModel.LinkStatus = exchanger.LinkStatus;
-                    exchangerModel.Length = exchanger.Length;
                     exchangerModel.Diameter = exchanger.Diameter;
-                    exchangerModel.Roughness = exchanger.Roughness;
                     exchangerModel.MinorLoss = exchanger.MinorLoss;
-                    netWork.Pipes.Add(exchangerModel);
+                    exchangerModel.FlowHeadLossCurve = "GPVDefault";
+                    netWork.HeatExchangers.Add(exchangerModel);
+                }
+            }
+
+            //鍘嬬缉鏈�
+            if (model.Compressors != null && model.Compressors.Count > 0)
+            {
+                foreach (var compressor in model.Compressors)
+                {
+                    var compressModel = new AirCompressor();
+                    compressModel.Id = compressor.Code;
+                    compressModel.Name = compressor.Name;
+                    compressModel.StartNode = allNodes.Find(x => x.Id == compressor.StartCode);
+                    compressModel.EndNode = allNodes.Find(x => x.Id == compressor.EndCode);
+                    compressModel.LinkStatus = compressor.LinkStatus;
+                    compressModel.Diameter = compressor.Diameter;
+                    compressModel.MinorLoss = compressor.MinorLoss;
+                    compressModel.FlowHeadLossCurve = "GPVDefault";
+                    netWork.AirCompressors.Add(compressModel);
                 }
             }
 
@@ -326,12 +342,15 @@
                     pumpModel.StartNode = allNodes.Find(x => x.Id == pump.StartCode);
                     pumpModel.EndNode = allNodes.Find(x => x.Id == pump.EndCode);
                     pumpModel.LinkStatus = pump.LinkStatus;
-                    pumpModel.RatedPower = pump.RatedPower;
+                    pumpModel.RatedPower = pump.RatedP;
                     pumpModel.CurveQH = pump.CurveQH;
+                    if (string.IsNullOrEmpty(pumpModel.CurveQH))
+                    {
+                        pumpModel.CurveQH = "PumpDefault";//浣跨敤network榛樿娉垫洸绾�
+                    }
+
                     pumpModel.SpeedRatio = pump.SpeedRatio;
                     pumpModel.SpeedRatioPattern = pump.SpeedRatioPattern;
-                    pumpModel.Price = pump.Price;
-                    pumpModel.PricePattern = pump.PricePattern;
                     pumpModel.CurveQE = pump.CurveQE;
                     netWork.Pumps.Add(pumpModel);
                 }
@@ -357,6 +376,21 @@
                 }
             }
 
+            //鏇茬嚎
+            if (model.Curves != null && model.Curves.Count > 0)
+            {
+                foreach (var curve in model.Curves)
+                {
+                    var curveModel = new Yw.EPAnet.Curve();
+                    curveModel.Id = curve.Code;
+                    curveModel.Name = curve.Name;
+                    curveModel.CurveType = curve.CurveType;
+                    curveModel.CurveData = curve.CurveData?.Select(x => new CurvePoint(x.X, x.Y)).ToList();
+                    netWork.Curves.Add(curveModel);
+                }
+            }
+
+
 
             #endregion
 

--
Gitblit v1.9.3