lixiaojun
2024-08-14 8ab801bcb9a1780898686471de4fb7cecd16f67e
Hydro/HStation.Hydro.Core/TransferHelper.cs
@@ -1,7 +1,4 @@
using HStation.Model;
using SqlSugar.Extensions;
namespace HStation.Hydro
namespace HStation.Hydro
{
    /// <summary>
    /// 转换辅助类
@@ -18,7 +15,6 @@
            var hydro = new Yw.Model.HydroModelInfo();
            hydro.Name = revitModel.Name;
            hydro.Code = null;
            hydro.Scene = HStation.Revit.ConstParas.Scene;
            hydro.Paras = null;
            hydro.Flags = null;
            hydro.TagName = null;
@@ -30,7 +26,7 @@
                foreach (var revitReservoir in revitModel.Reservoirs)
                {
                    var reservoir = new Yw.Model.HydroReservoirInfo();
                    reservoir.Catalog = Yw.Hydro.Catalog.Reservoir;
                    reservoir.Catalog = Yw.Hydro.ParterCatalog.Reservoir;
                    reservoir.Name = revitReservoir.Name;
                    reservoir.Code = revitReservoir.Code;
                    reservoir.ModelType = revitReservoir.ModelType;
@@ -44,6 +40,7 @@
                    reservoir.Position3d = new Yw.Model.Hydro.Position3d(revitReservoir.Position.X, revitReservoir.Position.Y, revitReservoir.Position.Z);
                    reservoir.ScenePropValueList = revitReservoir.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValuePureInfo()
                    {
                        Scene = HStation.Revit.ConstParas.Scene,
                        PropName = x.PropName,
                        PropValue = x.PropValue
                    }).ToList();
@@ -57,7 +54,7 @@
                foreach (var revitTank in revitModel.Tanks)
                {
                    var tank = new Yw.Model.HydroTankInfo();
                    tank.Catalog = Yw.Hydro.Catalog.Tank;
                    tank.Catalog = Yw.Hydro.ParterCatalog.Tank;
                    tank.Name = revitTank.Name;
                    tank.Code = revitTank.Code;
                    tank.ModelType = revitTank.ModelType;
@@ -75,6 +72,7 @@
                    tank.Position3d = new Yw.Model.Hydro.Position3d(revitTank.Position.X, revitTank.Position.Y, revitTank.Position.Z);
                    tank.ScenePropValueList = revitTank.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValuePureInfo()
                    {
                        Scene = HStation.Revit.ConstParas.Scene,
                        PropName = x.PropName,
                        PropValue = x.PropValue
                    }).ToList();
@@ -88,7 +86,7 @@
                foreach (var revitWaterbox in revitModel.Waterboxs)
                {
                    var waterbox = new Yw.Model.HydroWaterboxInfo();
                    waterbox.Catalog = Yw.Hydro.Catalog.Waterbox;
                    waterbox.Catalog = Yw.Hydro.ParterCatalog.Waterbox;
                    waterbox.Name = revitWaterbox.Name;
                    waterbox.Code = revitWaterbox.Code;
                    waterbox.ModelType = revitWaterbox.ModelType;
@@ -106,6 +104,7 @@
                    waterbox.Position3d = new Yw.Model.Hydro.Position3d(revitWaterbox.Position.X, revitWaterbox.Position.Y, revitWaterbox.Position.Z);
                    waterbox.ScenePropValueList = revitWaterbox.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValuePureInfo()
                    {
                        Scene = HStation.Revit.ConstParas.Scene,
                        PropName = x.PropName,
                        PropValue = x.PropValue
                    }).ToList();
@@ -119,7 +118,7 @@
                foreach (var revitJunction in revitModel.Junctions)
                {
                    var junction = new Yw.Model.HydroJunctionInfo();
                    junction.Catalog = Yw.Hydro.Catalog.Junction;
                    junction.Catalog = Yw.Hydro.ParterCatalog.Junction;
                    junction.Name = revitJunction.Name;
                    junction.Code = revitJunction.Code;
                    junction.ModelType = revitJunction.ModelType;
@@ -133,6 +132,7 @@
                    junction.Position3d = new Yw.Model.Hydro.Position3d(revitJunction.Position.X, revitJunction.Position.Y, revitJunction.Position.Z);
                    junction.ScenePropValueList = revitJunction.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValuePureInfo()
                    {
                        Scene = HStation.Revit.ConstParas.Scene,
                        PropName = x.PropName,
                        PropValue = x.PropValue
                    }).ToList();
@@ -146,7 +146,7 @@
                foreach (var revitElbow in revitModel.Elbows)
                {
                    var elbow = new Yw.Model.HydroElbowInfo();
                    elbow.Catalog = Yw.Hydro.Catalog.Elbow;
                    elbow.Catalog = Yw.Hydro.ParterCatalog.Elbow;
                    elbow.Name = revitElbow.Name;
                    elbow.Code = revitElbow.Code;
                    elbow.ModelType = revitElbow.ModelType;
@@ -160,6 +160,7 @@
                    elbow.Position3d = new Yw.Model.Hydro.Position3d(revitElbow.Position.X, revitElbow.Position.Y, revitElbow.Position.Z);
                    elbow.ScenePropValueList = revitElbow.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValuePureInfo()
                    {
                        Scene = HStation.Revit.ConstParas.Scene,
                        PropName = x.PropName,
                        PropValue = x.PropValue
                    }).ToList();
@@ -173,7 +174,7 @@
                foreach (var revitThreelink in revitModel.Threelinks)
                {
                    var threelink = new Yw.Model.HydroThreelinkInfo();
                    threelink.Catalog = Yw.Hydro.Catalog.Threelink;
                    threelink.Catalog = Yw.Hydro.ParterCatalog.Threelink;
                    threelink.Name = revitThreelink.Name;
                    threelink.Code = revitThreelink.Code;
                    threelink.ModelType = revitThreelink.ModelType;
@@ -187,6 +188,7 @@
                    threelink.Position3d = new Yw.Model.Hydro.Position3d(revitThreelink.Position.X, revitThreelink.Position.Y, revitThreelink.Position.Z);
                    threelink.ScenePropValueList = revitThreelink.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValuePureInfo()
                    {
                        Scene = HStation.Revit.ConstParas.Scene,
                        PropName = x.PropName,
                        PropValue = x.PropValue
                    }).ToList();
@@ -200,7 +202,7 @@
                foreach (var revitFourlink in revitModel.Fourlinks)
                {
                    var fourlink = new Yw.Model.HydroFourlinkInfo();
                    fourlink.Catalog = Yw.Hydro.Catalog.Fourlink;
                    fourlink.Catalog = Yw.Hydro.ParterCatalog.Fourlink;
                    fourlink.Name = revitFourlink.Name;
                    fourlink.Code = revitFourlink.Code;
                    fourlink.ModelType = revitFourlink.ModelType;
@@ -214,6 +216,7 @@
                    fourlink.Position3d = new Yw.Model.Hydro.Position3d(revitFourlink.Position.X, revitFourlink.Position.Y, revitFourlink.Position.Z);
                    fourlink.ScenePropValueList = revitFourlink.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValuePureInfo()
                    {
                        Scene = HStation.Revit.ConstParas.Scene,
                        PropName = x.PropName,
                        PropValue = x.PropValue
                    }).ToList();
@@ -227,7 +230,7 @@
                foreach (var revitNozzle in revitModel.Nozzles)
                {
                    var nozzle = new Yw.Model.HydroNozzleInfo();
                    nozzle.Catalog = Yw.Hydro.Catalog.Nozzle;
                    nozzle.Catalog = Yw.Hydro.ParterCatalog.Nozzle;
                    nozzle.Name = revitNozzle.Name;
                    nozzle.Code = revitNozzle.Code;
                    nozzle.ModelType = revitNozzle.ModelType;
@@ -242,6 +245,7 @@
                    nozzle.Position3d = new Yw.Model.Hydro.Position3d(revitNozzle.Position.X, revitNozzle.Position.Y, revitNozzle.Position.Z);
                    nozzle.ScenePropValueList = revitNozzle.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValuePureInfo()
                    {
                        Scene = HStation.Revit.ConstParas.Scene,
                        PropName = x.PropName,
                        PropValue = x.PropValue
                    }).ToList();
@@ -255,7 +259,7 @@
                foreach (var revitHydrant in revitModel.Hydrants)
                {
                    var hydrant = new Yw.Model.HydroHydrantInfo();
                    hydrant.Catalog = Yw.Hydro.Catalog.Hydrant;
                    hydrant.Catalog = Yw.Hydro.ParterCatalog.Hydrant;
                    hydrant.Name = revitHydrant.Name;
                    hydrant.Code = revitHydrant.Code;
                    hydrant.ModelType = revitHydrant.ModelType;
@@ -270,6 +274,7 @@
                    hydrant.Position3d = new Yw.Model.Hydro.Position3d(revitHydrant.Position.X, revitHydrant.Position.Y, revitHydrant.Position.Z);
                    hydrant.ScenePropValueList = revitHydrant.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValuePureInfo()
                    {
                        Scene = HStation.Revit.ConstParas.Scene,
                        PropName = x.PropName,
                        PropValue = x.PropValue
                    }).ToList();
@@ -277,13 +282,13 @@
                }
            }
            //仪表
            //水表
            if (revitModel.Meters != null && revitModel.Meters.Count > 0)
            {
                foreach (var revitMeter in revitModel.Meters)
                {
                    var meter = new Yw.Model.HydroMeterInfo();
                    meter.Catalog = Yw.Hydro.Catalog.Meter;
                    meter.Catalog = Yw.Hydro.ParterCatalog.Meter;
                    meter.Name = revitMeter.Name;
                    meter.Code = revitMeter.Code;
                    meter.ModelType = revitMeter.ModelType;
@@ -297,6 +302,7 @@
                    meter.Position3d = new Yw.Model.Hydro.Position3d(revitMeter.Position.X, revitMeter.Position.Y, revitMeter.Position.Z);
                    meter.ScenePropValueList = revitMeter.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValuePureInfo()
                    {
                        Scene = HStation.Revit.ConstParas.Scene,
                        PropName = x.PropName,
                        PropValue = x.PropValue
                    }).ToList();
@@ -310,7 +316,7 @@
                foreach (var revitFlowmeter in revitModel.Flowmeters)
                {
                    var flowmeter = new Yw.Model.HydroFlowmeterInfo();
                    flowmeter.Catalog = Yw.Hydro.Catalog.Flowmeter;
                    flowmeter.Catalog = Yw.Hydro.ParterCatalog.Flowmeter;
                    flowmeter.Name = revitFlowmeter.Name;
                    flowmeter.Code = revitFlowmeter.Code;
                    flowmeter.ModelType = revitFlowmeter.ModelType;
@@ -324,6 +330,7 @@
                    flowmeter.Position3d = new Yw.Model.Hydro.Position3d(revitFlowmeter.Position.X, revitFlowmeter.Position.Y, revitFlowmeter.Position.Z);
                    flowmeter.ScenePropValueList = revitFlowmeter.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValuePureInfo()
                    {
                        Scene = HStation.Revit.ConstParas.Scene,
                        PropName = x.PropName,
                        PropValue = x.PropValue
                    }).ToList();
@@ -337,7 +344,7 @@
                foreach (var revitPressmeter in revitModel.Pressmeters)
                {
                    var pressmeter = new Yw.Model.HydroPressmeterInfo();
                    pressmeter.Catalog = Yw.Hydro.Catalog.Pressmeter;
                    pressmeter.Catalog = Yw.Hydro.ParterCatalog.Pressmeter;
                    pressmeter.Name = revitPressmeter.Name;
                    pressmeter.Code = revitPressmeter.Code;
                    pressmeter.ModelType = revitPressmeter.ModelType;
@@ -351,6 +358,7 @@
                    pressmeter.Position3d = new Yw.Model.Hydro.Position3d(revitPressmeter.Position.X, revitPressmeter.Position.Y, revitPressmeter.Position.Z);
                    pressmeter.ScenePropValueList = revitPressmeter.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValuePureInfo()
                    {
                        Scene = HStation.Revit.ConstParas.Scene,
                        PropName = x.PropName,
                        PropValue = x.PropValue
                    }).ToList();
@@ -364,7 +372,7 @@
                foreach (var revitBlunthead in revitModel.Bluntheads)
                {
                    var blunthead = new Yw.Model.HydroBluntheadInfo();
                    blunthead.Catalog = Yw.Hydro.Catalog.Blunthead;
                    blunthead.Catalog = Yw.Hydro.ParterCatalog.Blunthead;
                    blunthead.Name = revitBlunthead.Name;
                    blunthead.Code = revitBlunthead.Code;
                    blunthead.ModelType = revitBlunthead.ModelType;
@@ -378,37 +386,11 @@
                    blunthead.Position3d = new Yw.Model.Hydro.Position3d(revitBlunthead.Position.X, revitBlunthead.Position.Y, revitBlunthead.Position.Z);
                    blunthead.ScenePropValueList = revitBlunthead.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValuePureInfo()
                    {
                        Scene = HStation.Revit.ConstParas.Scene,
                        PropName = x.PropName,
                        PropValue = x.PropValue
                    }).ToList();
                    hydro.Bluntheads.Add(blunthead);
                }
            }
            //换热器
            if (revitModel.Exchangers != null && revitModel.Exchangers.Count > 0)
            {
                foreach (var revitExchanger in revitModel.Exchangers)
                {
                    var exchanger = new Yw.Model.HydroExchangerInfo();
                    exchanger.Catalog = Yw.Hydro.Catalog.Exchanger;
                    exchanger.Name = revitExchanger.Name;
                    exchanger.Code = revitExchanger.Code;
                    exchanger.ModelType = revitExchanger.ModelType;
                    exchanger.Flags = revitExchanger.Flags;
                    exchanger.Description = revitExchanger.Description;
                    exchanger.Quality = revitExchanger.Quality;
                    exchanger.Elev = revitExchanger.Elev;
                    exchanger.Demand = revitExchanger.Demand;
                    exchanger.DemandPattern = revitExchanger.DemandPattern;
                    exchanger.Position2d = new Yw.Model.Hydro.Position2d(revitExchanger.Position.X, revitExchanger.Position.Y);
                    exchanger.Position3d = new Yw.Model.Hydro.Position3d(revitExchanger.Position.X, revitExchanger.Position.Y, revitExchanger.Position.Z);
                    exchanger.ScenePropValueList = revitExchanger.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValuePureInfo()
                    {
                        PropName = x.PropName,
                        PropValue = x.PropValue
                    }).ToList();
                    hydro.Exchangers.Add(exchanger);
                }
            }
@@ -418,7 +400,7 @@
                foreach (var revitPump in revitModel.Pumps)
                {
                    var pump = new Yw.Model.HydroPumpInfo();
                    pump.Catalog = Yw.Hydro.Catalog.Pump;
                    pump.Catalog = Yw.Hydro.ParterCatalog.Pump;
                    pump.Name = revitPump.Name;
                    pump.Code = revitPump.Code;
                    pump.ModelType = revitPump.ModelType;
@@ -434,6 +416,7 @@
                    pump.CurveQE = revitPump.CurveQE;
                    pump.ScenePropValueList = revitPump.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValuePureInfo()
                    {
                        Scene = HStation.Revit.ConstParas.Scene,
                        PropName = x.PropName,
                        PropValue = x.PropValue
                    }).ToList();
@@ -447,7 +430,7 @@
                foreach (var revitValve in revitModel.Valves)
                {
                    var valve = new Yw.Model.HydroValveInfo();
                    valve.Catalog = Yw.Hydro.Catalog.Valve;
                    valve.Catalog = Yw.Hydro.ParterCatalog.Valve;
                    valve.Name = revitValve.Name;
                    valve.Code = revitValve.Code;
                    valve.ModelType = revitValve.ModelType;
@@ -462,6 +445,7 @@
                    valve.ValveSetting = revitValve.ValveSetting;
                    valve.ScenePropValueList = revitValve.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValuePureInfo()
                    {
                        Scene = HStation.Revit.ConstParas.Scene,
                        PropName = x.PropName,
                        PropValue = x.PropValue
                    }).ToList();
@@ -475,7 +459,7 @@
                foreach (var revitPipe in revitModel.Pipes)
                {
                    var pipe = new Yw.Model.HydroPipeInfo();
                    pipe.Catalog = Yw.Hydro.Catalog.Pipe;
                    pipe.Catalog = Yw.Hydro.ParterCatalog.Pipe;
                    pipe.Name = revitPipe.Name;
                    pipe.Code = revitPipe.Code;
                    pipe.ModelType = revitPipe.ModelType;
@@ -490,6 +474,7 @@
                    pipe.MinorLoss = revitPipe.MinorLoss;
                    pipe.ScenePropValueList = revitPipe.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValuePureInfo()
                    {
                        Scene = HStation.Revit.ConstParas.Scene,
                        PropName = x.PropName,
                        PropValue = x.PropValue
                    }).ToList();
@@ -503,7 +488,7 @@
                foreach (var revitTranslation in revitModel.Translations)
                {
                    var translation = new Yw.Model.HydroPipeInfo();
                    translation.Catalog = Yw.Hydro.Catalog.Translation;
                    translation.Catalog = Yw.Hydro.ParterCatalog.Translation;
                    translation.Name = revitTranslation.Name;
                    translation.Code = revitTranslation.Code;
                    translation.ModelType = revitTranslation.ModelType;
@@ -518,10 +503,40 @@
                    translation.MinorLoss = revitTranslation.MinorLoss;
                    translation.ScenePropValueList = revitTranslation.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValuePureInfo()
                    {
                        Scene = HStation.Revit.ConstParas.Scene,
                        PropName = x.PropName,
                        PropValue = x.PropValue
                    }).ToList();
                    hydro.Pipes.Add(translation);
                }
            }
            //换热器
            if (revitModel.Exchangers != null && revitModel.Exchangers.Count > 0)
            {
                foreach (var revitExchanger in revitModel.Exchangers)
                {
                    var exchanger = new Yw.Model.HydroExchangerInfo();
                    exchanger.Catalog = Yw.Hydro.ParterCatalog.Exchanger;
                    exchanger.Name = revitExchanger.Name;
                    exchanger.Code = revitExchanger.Code;
                    exchanger.ModelType = revitExchanger.ModelType;
                    exchanger.Flags = revitExchanger.Flags;
                    exchanger.Description = revitExchanger.Description;
                    exchanger.StartCode = revitExchanger.StartCode;
                    exchanger.EndCode = revitExchanger.EndCode;
                    exchanger.LinkStatus = revitExchanger.LinkStatus;
                    exchanger.Diameter = revitExchanger.Diameter;
                    exchanger.Length = revitExchanger.Length;
                    exchanger.Roughness = revitExchanger.Roughness;
                    exchanger.MinorLoss = revitExchanger.MinorLoss;
                    exchanger.ScenePropValueList = revitExchanger.PropValueList?.Select(x => new Yw.Model.HydroParterScenePropValuePureInfo()
                    {
                        Scene = HStation.Revit.ConstParas.Scene,
                        PropName = x.PropName,
                        PropValue = x.PropValue
                    }).ToList();
                    hydro.Exchangers.Add(exchanger);
                }
            }
@@ -532,6 +547,7 @@
                foreach (var revitDecorator in revitModel.Decorators)
                {
                    var decorator = new Yw.Model.HydroDecoratorInfo();
                    decorator.Scene = HStation.Revit.ConstParas.Scene;
                    decorator.Name = revitDecorator.Name;
                    decorator.Category = revitDecorator.Category;
                    decorator.Decoration = revitDecorator.Decoration;