public void MaakStratenAan() { Console.WriteLine("Aanmaken van straten..."); foreach (KeyValuePair <int, List <Segment> > data in alleSegmenten) { int straatID = data.Key; Graaf graaf = new Graaf(straatID); Straat straat = new Straat(straatID, straatGegevens[data.Key], graaf.BuildGraaf(straatID, data.Value)); alleStraten.Add(straatID, straat); } Console.WriteLine("Aanmaken van straten... OK"); }
public Graaf BuildGraaf(int id, List <Segment> segment) { Graaf graaf = new Graaf(id); if (segment != null) { for (int i = 0; i < segment.Count; i++) { //checken voor de beginknoop //kijken of hij er al in zit, zo niet toevoegen if (graaf.Map.Keys.AsEnumerable().Where(y => y.KnoopID == segment[i].BeginKnoop.KnoopID).Count() == 1) { //toevoegen bij een bestaande key graaf.Map.Where(y => y.Key.KnoopID == segment[i].BeginKnoop.KnoopID).FirstOrDefault().Value.Add(segment[i]); } else { //nieuwe aanmaken graaf.Map.Add(segment[i].BeginKnoop, new List <Segment>() { segment[i] }); } //checken voor de eindknoop //kijken of hij er al in zit, zo niet toevoegen if (graaf.Map.Keys.AsEnumerable().Where(y => y.KnoopID == segment[i].EindKnoop.KnoopID).Count() == 1) { //toevoegen bij een bestaande key graaf.Map.Where(y => y.Key.KnoopID == segment[i].EindKnoop.KnoopID).FirstOrDefault().Value.Add(segment[i]); } else { //nieuwe aanmaken graaf.Map.Add(segment[i].EindKnoop, new List <Segment>() { segment[i] }); } } } return(graaf); }
public Straat(int straatID, string straatNaam, Graaf graaf) { this.StraatID = straatID; this.StraatNaam = straatNaam; this.Graaf = graaf; }