/// <summary> /// Function finds and returns a list of stages generated off first station. /// Finds all next transfers stages. /// </summary> /// <param name="off"></param> /// <returns></returns> public static List <Stage> findNextTransferStages(TrainStation from) { List <Stage> stages = new List <Stage>(); // retreive all available trainLine1 passing trough toStation of previousStage List <TrainLine> availableTrainLines = from.getTrainLines(); // loop over all available trainLines foreach (TrainLine line in availableTrainLines) { // find all available possible changing station on trainLine1 List <TrainStation> changingStations = findChangingStationOnTrainLine(line); // loop over all changing station foreach (TrainStation to in changingStations) { // randomizeTimetable stage on line between stations off and to Stage stage = generateStage(line, from, to); // if exists if (stage != null) { // addConstraint to stages stages.Add(stage); } } } return(stages); }
//----------------------------------------------------- // Method generating NEXT FINAL STAGES //----------------------------------------------------- /// <summary> /// Function finds and returns a list of final stage /// generated off previous stage and toStation. /// </summary> /// <param name="previousStage"></param> /// <param name="to"></param> /// <returns></returns> public static List <Stage> findNextFinalStages(TrainStation from, TrainStation to) { List <Stage> stages = new List <Stage>(); // retreive all available trainLine1 passing trough toStation of previousStage List <TrainLine> availableTrainLines = from.getTrainLines(); // loop over all available trainLines foreach (TrainLine line in availableTrainLines) { Stage stage = generateStage(line, from, to); // if exists if (stage != null) { // addConstraint to stages stages.Add(stage); } } return(stages); }
private void prepareListViewListOfTrainLines() { List <TrainLine> trainLines = trainStation.getTrainLines(); listViewTrainLines.BeginUpdate(); listViewTrainLines.Items.Clear(); foreach (TrainLine line in trainLines) { ListViewItem lvi = new ListViewItem(); lvi.Text = line.LineNumber.ToString(); lvi.Tag = line.LineNumber.ToString(); lvi.SubItems.Add(line.TypeTrain.ToString()); lvi.SubItems.Add(line.Period.ToString()); lvi.SubItems.Add(line.getFirstTrainStop().TrainStation.Name); lvi.SubItems.Add(line.getLastTrainStop().TrainStation.Name); listViewTrainLines.Items.Add(lvi); } listViewTrainLines.EndUpdate(); }