コード例 #1
0
 private static StationExit CreateStationExit(TrackLayout layout, string stationNameOrSignature)
 {
     var stationExit = new StationExit(stationNameOrSignature);
     var station = layout.Station(stationNameOrSignature);
     station.Add(stationExit);
     return stationExit;
 }
コード例 #2
0
 public static void RecordHandler(IDataRecord record, TrackLayout layout)
 {
     var track = new StationTrack(record.GetString(record.GetOrdinal("Number")));
     var station = layout.Station(record.GetString(record.GetOrdinal("Signature")));
     station.Add(track);
 }
コード例 #3
0
        private static void GetStretches(TrackLayout layout, Excel.Workbook book) {
            Excel.Worksheet sheet = book.Worksheets["Routes"];
            var r = 2;
            while (true) {
                var row = (Array)sheet.get_Range(Cell("A", r), Cell("I", r)).Cells.Value;
                if (row.GetValue(1, 1) == null) {
                    break;
                }
                else {
                    var timetableStretchNumber = row.Value(1);
                    var tracksCount = int.Parse(row.Value(8), CultureInfo.InvariantCulture);
                    var fromName = row.Value(3);
                    var toName = row.Value(5);
                    var distance = double.Parse(row.Value(9), CultureInfo.InvariantCulture);

                    var fromStation = layout.Station(fromName);
                    var fromExit = new StationExit(toName);
                    fromStation.Add(fromExit);
                    var toStation = layout.Station(toName);
                    var toExit = new StationExit(fromName);
                    toStation.Add(toExit);
                    var addedStretch = layout.Add(fromExit, toExit, distance, tracksCount);
                    if (! layout.HasTimetableStretch(timetableStretchNumber)) {
                        layout.Add(new TimetableStretch(timetableStretchNumber));
                    }
                    layout.TimetableStretch(timetableStretchNumber).Add(addedStretch);
                }
                r++;
            }
        }