using Hydro.Core.Model;
|
using Hydro.Inp;
|
using Hydro.Revit.Model;
|
using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
|
namespace Hydro.Revit
|
{
|
public class RevitNetWork : NetWork
|
{
|
public void AddJunction(JunctionViewModel junction)
|
{
|
CheckNodesExist(junction);
|
Nodes.Add(junction);
|
}
|
|
public void AddJunctions(List<JunctionViewModel> junctions)
|
{
|
junctions.ForEach(junction => { AddJunction(junction); });
|
}
|
|
public void AddTank(WaterTankViewModel tank)
|
{
|
CheckNodesExist(tank);
|
Nodes.Add(tank);
|
}
|
|
public void AddTanks(List<WaterTankViewModel> tanks)
|
{
|
tanks.ForEach(tank => { AddTank(tank); });
|
|
|
WaterTankViewModel kk=null;
|
Nodes.Select(n => (WaterTankViewModel)n).ToList().Sort(o => o.PositionJson);
|
WaterTankViewModels
|
|
((WaterTankViewModel) Nodes[0]).PositionJson
|
}
|
|
public void AddPipe(PipeViewModel pipe)
|
{
|
CheckLinksExist(pipe);
|
Links.Add(pipe);
|
}
|
|
public void AddPipes(List<PipeViewModel> pipes)
|
{
|
pipes.ForEach(pipe => { AddPipe(pipe); });
|
}
|
public void AddPump(WaterPumpViewModel pump)
|
{
|
CheckLinksExist(pump);
|
Links.Add(pump);
|
}
|
|
public void AddPumps(List<WaterPumpViewModel> pumps)
|
{
|
pumps.ForEach(pump => { AddPump(pump); });
|
}
|
public void AddValve(ValveViewModel valve)
|
{
|
CheckLinksExist(valve);
|
Links.Add(valve);
|
}
|
|
public void AddValves(List<ValveViewModel> valves)
|
{
|
valves.ForEach(valve => { AddValve(valve); });
|
}
|
|
public void AddHydrantBox(HydrantBoxViewModel hydrantBox)
|
{
|
CheckNodesExist(hydrantBox);
|
Nodes.Add(hydrantBox);
|
}
|
|
public void AddHydrantBoxs(List<HydrantBoxViewModel> hydrantBoxs)
|
{
|
hydrantBoxs.ForEach(hydrantBox => { AddHydrantBox(hydrantBox); });
|
}
|
|
public void AddNozzle(NozzleViewModel nozzle)
|
{
|
CheckNodesExist(nozzle);
|
Nodes.Add(nozzle);
|
}
|
public void AddNozzles(List<NozzleViewModel> nozzles)
|
{
|
nozzles.ForEach(nozzle => { AddNozzle(nozzle); });
|
}
|
|
private void CheckNodesExist(NodeCalcModel node)
|
{
|
if (Nodes.Any(d => d.ID == node.ID))
|
throw new Exception("已存在重复的对象");
|
}
|
|
private void CheckLinksExist(LinkCalcModel link)
|
{
|
if (Links.Any(d => d.ID == link.ID))
|
throw new Exception("已存在重复的对象");
|
}
|
}
|
}
|