コード例 #1
0
 public static void RecordHandler(IDataRecord record, TrackLayout layout)
 {
     var number = record.GetString(record.GetOrdinal("Number"));
     var fromStationSignature = record.GetString(record.GetOrdinal("FromStation"));
     var toStationSignature = record.GetString(record.GetOrdinal("ToStation"));
     if (!layout.HasTimetableStretch(number)) layout.Add(new TimetableStretch(number));
     var currentTimetableStretch = layout.TimetableStretch(number);
     var trackStretch = layout.TrackStretch(fromStationSignature, toStationSignature);
     currentTimetableStretch.Add(trackStretch);
 }
コード例 #2
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++;
            }
        }