public void AddReach(Reach reach) { if (!Reaches.Contains(reach)) { Reaches.Add(reach); reach.Parent = this; this.Length += reach.Length; this.Width = reach.Width; } }
public Reach GetReach(string name) { var reach = Reaches.Where(r => r.Name == name); if (reach.Count() == 1) { return(reach.First()); } else { return(null); } }
public Reach GetReach(int id) { if (id == 0) { return(null); } var reach = Reaches.Where(r => r.ID == id); if (reach.Count() == 1) { return(reach.First()); } else { return(null); } }
private Boolean Initialize() { var outlet = Reaches?.Find(x => x.Outlet); if (outlet == null) { return(false); } Trace.WriteLine("CI: initialize"); foreach (var reach in Reaches) { reach.SegmentId = null; } Segments = ComputeSegments(outlet); InitializeSegmentNetwork(Reaches, Segments); Length = ComputeTotalNetworkLength(Reaches); _segmentLookup = Segments.ToDictionary(x => x.Id); return(true); }