Ejemplo n.º 1
0
 public void AddReach(Reach reach)
 {
     if (!Reaches.Contains(reach))
     {
         Reaches.Add(reach);
         reach.Parent = this;
         this.Length += reach.Length;
         this.Width   = reach.Width;
     }
 }
Ejemplo n.º 2
0
        public Reach GetReach(string name)
        {
            var reach = Reaches.Where(r => r.Name == name);

            if (reach.Count() == 1)
            {
                return(reach.First());
            }
            else
            {
                return(null);
            }
        }
Ejemplo n.º 3
0
        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);
            }
        }
Ejemplo n.º 4
0
        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);
        }