| | |
| | | StreamReader sr = new StreamReader(filePath); |
| | | //try |
| | | { |
| | | Nodes = new List<NodeCalcModel>(); |
| | | Links = new List<LinkCalcModel>(); |
| | | Nodes = new NodeViewModelList(); |
| | | Links = new LinkViewModelList(); |
| | | |
| | | |
| | | |
| | |
| | | break; |
| | | case "STATUS": |
| | | { |
| | | LinkViewModel link = (LinkViewModel)Links.Find(l => l.ID == parts.ToString(0, null)); |
| | | LinkViewModel link = Links.Find(l => l.ID == parts.ToString(0, null)); |
| | | if (link != null) |
| | | link.Status = StringToStatus(parts.ToString(1, "OPEN")); |
| | | } |
| | |
| | | k1 = 0; |
| | | while (k1 < Links.Count) |
| | | { |
| | | var p = (LinkViewModel)Links[k1]; |
| | | var J = (NodeViewModel)Nodes[k2]; |
| | | var p = Links[k1]; |
| | | var J = Nodes[k2]; |
| | | var k0 = k2; |
| | | while (J.ID != p.Node1 && k2 < Nodes.Count) |
| | | { |
| | | k2++; |
| | | if (k2 < Nodes.Count) J = (NodeViewModel)Nodes[k2]; |
| | | if (k2 < Nodes.Count) J = Nodes[k2]; |
| | | |
| | | } |
| | | if (k2 == Nodes.Count) |
| | |
| | | k1 = 0; |
| | | while (k1 < Links.Count) |
| | | { |
| | | var p = (LinkViewModel)Links[k1]; |
| | | var J = (NodeViewModel)Nodes[k2]; |
| | | var p = Links[k1]; |
| | | var J = Nodes[k2]; |
| | | var k0 = k2; |
| | | while (J.ID != p.Node2 && k2 < Nodes.Count) |
| | | { |
| | | k2++; |
| | | if (k2 < Nodes.Count) J = (NodeViewModel)Nodes[k2]; |
| | | if (k2 < Nodes.Count) J = Nodes[k2]; |
| | | } |
| | | if (k2 == Nodes.Count) |
| | | { |
| | |
| | | StreamReader sr = new StreamReader(filePath); |
| | | //try |
| | | { |
| | | Nodes = new List<NodeCalcModel>(); |
| | | Nodes = new NodeViewModelList(); |
| | | //reservoirs = new List<Reservoir>(); |
| | | //tanks = new List<Tank>(); |
| | | //meters = new List<Meter>(); |
| | | |
| | | Links = new List<LinkCalcModel>(); |
| | | Links =new LinkViewModelList(); |
| | | //valves = new List<Valve>(); |
| | | //repeaters = new List<Repeater>(); |
| | | |
| | |
| | | k2 = 0; |
| | | while (k2 < Links.Count) |
| | | { |
| | | var p = (LinkViewModel)Links[k2]; |
| | | var J = (NodeViewModel)Nodes[k1]; |
| | | var p = Links[k2]; |
| | | var J = Nodes[k1]; |
| | | while (J.ID != p.Node1 && k1 < Nodes.Count) |
| | | { |
| | | k1++; |
| | | if (k1 < Nodes.Count) J = (NodeViewModel)Nodes[k1]; |
| | | if (k1 < Nodes.Count) J = Nodes[k1]; |
| | | |
| | | } |
| | | if (k1 == Nodes.Count) |
| | |
| | | k2 = 0; |
| | | while (k2 < Links.Count) |
| | | { |
| | | var p = (LinkViewModel)Links[k2]; |
| | | var J = (NodeViewModel)Nodes[k1]; |
| | | var p = Links[k2]; |
| | | var J = Nodes[k1]; |
| | | while (J.ID != p.Node2 && k1 < Nodes.Count) |
| | | { |
| | | k1++; |
| | | if (k1 < Nodes.Count) J = (NodeViewModel)Nodes[k1]; |
| | | if (k1 < Nodes.Count) J =Nodes[k1]; |
| | | } |
| | | if (k1 == Nodes.Count) |
| | | { |
| | |
| | | |
| | | Nodes.ForEach(o0 => |
| | | { |
| | | var o = (NodeViewModel)o0; |
| | | var o = o0; |
| | | if (!o.Visible) return; |
| | | if (o is JunctionViewModel j) |
| | | junctionStringBuilder.AppendLine(j.ToString() + $"{j.Level}\tJunction"); |
| | |
| | | |
| | | StringBuilder emitterStringBuilder = new StringBuilder(); |
| | | emitterStringBuilder.AppendLine(";Junction \tCoefficient"); |
| | | Nodes.ForEach(o => emitterStringBuilder.Append(((NodeViewModel)o).ToEmitterString())); |
| | | Nodes.ForEach(o => emitterStringBuilder.Append((o).ToEmitterString())); |
| | | |
| | | |
| | | |