public static DataRailwaySystem GetSampleSystem() { DataRailwaySystem dataRS = new DataRailwaySystem(); dataRS.Stations = new List <string> { "A", "B", "C", "D", "E", "F", "G", "H" }; dataRS.Paths = new List <PathStations>(); dataRS.Paths.Add(new PathStations("A", "B", 5)); dataRS.Paths.Add(new PathStations("B", "C", 5)); dataRS.Paths.Add(new PathStations("C", "D", 5)); dataRS.Paths.Add(new PathStations("D", "E", 5)); dataRS.Paths.Add(new PathStations("E", "F", 5)); dataRS.Paths.Add(new PathStations("F", "G", 5)); dataRS.Paths.Add(new PathStations("G", "H", 5)); dataRS.Trains = new List <RouteTrain>(); dataRS.Trains.Add(new RouteTrain("A", "B", "C", "D", "E", "F", "G", "H")); dataRS.Trains.Add(new RouteTrain("H", "G", "F")); dataRS.Trains.Add(new RouteTrain("F", "E", "D")); dataRS.Trains.Add(new RouteTrain("C", "D")); dataRS.Trains.Add(new RouteTrain("A", "B")); dataRS.Trains.Add(new RouteTrain("C", "B")); dataRS.Trains.Add(new RouteTrain("A", "B", "C")); dataRS.Trains.Add(new RouteTrain("E", "D", "C")); dataRS.Trains.Add(new RouteTrain("D", "C", "B")); dataRS.Trains.Add(new RouteTrain("D")); return(dataRS); }
public static void SetDataRailwaySystem(string fileName) { var dataRS = DataRailwaySystem.GetSampleSystem(); XmlSerializer formatter = new XmlSerializer(typeof(DataRailwaySystem)); using (FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate)) { formatter.Serialize(fs, dataRS); } }
public RailwaySystem(DataRailwaySystem dataRS) { nameStations = dataRS.Stations; paths = dataRS.Paths; for (int i = 0; i < dataRS.Trains.Count; i++) { int time = 0, id1, id2 = nameStations.IndexOf(dataRS.Trains[i].Route[0]); trains.Add(new Train()); trains[i].Add(id2, time); for (int j = 1; j < dataRS.Trains[i].Route.Count; j++) { id1 = id2; id2 = nameStations.IndexOf(dataRS.Trains[i].Route[j]); time += paths.Find(x => ((x.Begin == nameStations[id1]) && (x.End == nameStations[id2])) || ((x.End == nameStations[id1]) && (x.Begin == nameStations[id2])) ).Distance; trains[i].Add(id2, time); } } }