protected Link FindLink(City fromC, City toC, TransportModes mode) { return((from l in routes where mode.Equals(l.TransportMode) && ((fromC.Equals(l.FromCity) && toC.Equals(l.ToCity)) || (toC.Equals(l.FromCity) && fromC.Equals(l.ToCity))) select new Link(fromC, toC, l.Distance, TransportModes.Rail)).FirstOrDefault()); }
/// <summary> /// Finds all neighbor cities of a city. /// </summary> /// <param name="city">source city</param> /// <param name="mode">transportation mode</param> /// <returns>list of neighbor cities</returns> private List <City> FindNeighbours(City city, TransportModes mode) { var neighbors = new List <City>(); foreach (var r in routes) { if (mode.Equals(r.TransportMode)) { if (city.Equals(r.FromCity)) { neighbors.Add(r.ToCity); } else if (city.Equals(r.ToCity)) { neighbors.Add(r.FromCity); } } } return(neighbors); }
/// <summary> /// Finds all neighbor cities of a city. /// </summary> /// <param name="city">source city</param> /// <param name="mode">transportation mode</param> /// <returns>list of neighbor cities</returns> private List<City> FindNeighbours(City city, TransportModes mode) { List<City> neighbors = new List<City>(); foreach (Link r in routes) { if (mode.Equals(r.TransportMode)) { if (city.Equals(r.FromCity)) { neighbors.Add(r.ToCity); } else if (city.Equals(r.ToCity)) { neighbors.Add(r.FromCity); } } } return neighbors; }
protected Link FindLink(City fromC, City toC, TransportModes mode) { return (from l in routes where mode.Equals(l.TransportMode) && ((fromC.Equals(l.FromCity) && toC.Equals(l.ToCity)) || (toC.Equals(l.FromCity) && fromC.Equals(l.ToCity))) select new Link(fromC, toC, l.Distance, TransportModes.Rail)).FirstOrDefault(); }
/// <summary> /// Finds all neighbor cities of a city. /// </summary> /// <param name="city">source city</param> /// <param name="mode">transportation mode</param> /// <returns>list of neighbor cities</returns> private List<City> FindNeighbours(City city, TransportModes mode) { var neighbors = new List<City>(); foreach (var r in _routes) if (mode.Equals(r.TransportMode)) { if (city.Equals(r.FromCity)) neighbors.Add(r.ToCity); else if (city.Equals(r.ToCity)) neighbors.Add(r.FromCity); } return neighbors; }
/// <summary> /// Finds the link between two cities. /// </summary> /// <param name="c1">first city</param> /// <param name="c2">second city</param> /// <param name="t"></param> /// <returns>found link or null</returns> protected Link FindLink(City c1, City c2, TransportModes t) { foreach (Link l in routes) { if (t.Equals(l.TransportMode) && ((c1.Equals(l.FromCity) && c2.Equals(l.ToCity)) || (c2.Equals(l.FromCity) && c1.Equals(l.ToCity)))) { return new Link(c1, c2, l.Distance, TransportModes.Rail); } } return null; }