| | |
| | | using Hydro.Inp; |
| | | using Hydro.Core.Model; |
| | | using Hydro.Inp; |
| | | using Hydro.Revit.Model; |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Linq; |
| | |
| | | { |
| | | 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("已存在重复的对象"); |
| | | } |
| | | } |
| | | } |