public StadService() { stadDAO = new StadDAO(); treinritHelper = new TreinritHelper(); route = new List <Stad>(); }
public (IList <Stad>, int tussenstops) FindRoute(Stad vertrekstad, Stad aankomststad) { stadDAO = new StadDAO(); var steden = stadDAO.GetAll(); switch (vertrekstad.Naam) { case "Londen": if (aankomststad.Naam == "Brussel") { tussenstops = null; } else if (aankomststad.Naam == "Moskou") { tussenstops.Add(steden.Where(x => x.Naam == "Moskou").FirstOrDefault()); } else { tussenstops.Add(steden.Where(x => x.Naam == "Brussel").FirstOrDefault()); } break; case "Parijs": if (aankomststad.Naam == "Moskou") { tussenstops.Add(steden.Where(x => x.Naam == "Brussel").FirstOrDefault()); tussenstops.Add(steden.Where(x => x.Naam == "Berlijn").FirstOrDefault()); } else if (aankomststad.Naam == "Londen" || aankomststad.Naam == "Amsterdam") { tussenstops.Add(steden.Where(x => x.Naam == "Brussel").FirstOrDefault()); } else { tussenstops = null; } break; case "Rome": if (aankomststad.Naam == "Moskou") { tussenstops.Add(steden.Where(x => x.Naam == "Berlijn").FirstOrDefault()); } else if (aankomststad.Naam == "Londen" || aankomststad.Naam == "Amsterdam") { tussenstops.Add(steden.Where(x => x.Naam == "Brussel").FirstOrDefault()); } else { tussenstops = null; } break; case "Amsterdam": if (aankomststad.Naam == "Moskou") { tussenstops.Add(steden.Where(x => x.Naam == "Berlijn").FirstOrDefault()); } else if (aankomststad.Naam == "Brussel" || aankomststad.Naam == "Berlijn") { tussenstops = null; } else { tussenstops.Add(steden.Where(x => x.Naam == "Brussel").FirstOrDefault()); } break; case "Berlijn": if (aankomststad.Naam == "Parijs" || aankomststad.Naam == "Londen" || aankomststad.Naam == "Amsterdam") { tussenstops.Add(steden.Where(x => x.Naam == "Brussel").FirstOrDefault()); } else { tussenstops = null; } break; case "Moskou": if (aankomststad.Naam == "Berlijn") { tussenstops = null; } else if (aankomststad.Naam == "Parijs" || aankomststad.Naam == "Londen") { tussenstops.Add(steden.Where(x => x.Naam == "Berlijn").FirstOrDefault()); tussenstops.Add(steden.Where(x => x.Naam == "Brussel").FirstOrDefault()); } else { tussenstops.Add(steden.Where(x => x.Naam == "Berlijn").FirstOrDefault()); } break; case "Brussel": if (aankomststad.Naam == "Moskou") { tussenstops.Add(steden.Where(x => x.Naam == "Berlijn").FirstOrDefault()); } else { tussenstops = null; } break; default: //set default break; } if (tussenstops == null) { atlTussenstops = 0; } else { atlTussenstops = tussenstops.Count(); } return(tussenstops, atlTussenstops); }