public static void initGraph(char mode = 'N') //initializes the Graph { if (mode.Equals('N')) { mode = 'T'; } mrtGraph = new Graph(size); //creates the Graph with size found in initStationIndex() foreach (Line line in Guide.MRTLine) //foreach loop { for (int i = 0; i < (line.StationList.Count - 1); i++) //for loop { double weight = -1; try { List <string> queryResult = DBGuide.QueryFareFromDatabase(line.StationList[i].StationCode[0], line.StationList[i + 1].StationCode[0]); //invoke method and store in list switch (mode) { case 'F': //case for fare weight = double.Parse(queryResult[0]); break; case 'T': //case for time weight = double.Parse(queryResult[2]); break; } } catch (Exception ex) //catch exception error { MessageBox.Show(string.Format("Start: {0} |End: {1}\n{2}", line.StationList[i].StationCode[0], line.StationList[i + 1].StationCode[0], ex)); //SHows missing stations } Console.WriteLine("Weight:{0}", weight); mrtGraph.addEdge(line.StationList[i].GraphIndex, line.StationList[i + 1].GraphIndex, weight); //add an edge Console.WriteLine("{0}({1}) - {2}({3})", line.StationList[i].StationName, line.StationList[i].GraphIndex, line.StationList[i + 1].StationName, line.StationList[i + 1].GraphIndex); } } }
private void btnSearch_Click(object sender, RoutedEventArgs e) //event that happens when button is clicked { string bStatCode; string aStatCode; if (radBStatName.IsChecked == true) //if Station Name radiobutton is checked { bStatCode = Guide.SearchByStationName(cmbxBStationStrChooser.Text).StationCode[0]; //Search for the input Station Code based on user input } else //else if Station Code radiobutton is checked { bStatCode = cmbxBStationStrChooser.Text; } if (radAStatName.IsChecked == true) //if Station Name radiobutton is checked { aStatCode = Guide.SearchByStationName(cmbxAStationStrChooser.Text).StationCode[0]; //search for the input Station Code based on user input } else //else if Station Code radiobutton is checked { aStatCode = cmbxAStationStrChooser.Text; } string cardFare = "Stored Value Card Fare -- " + "$" + DBGuide.QueryFareFromDatabase(bStatCode, aStatCode)[0]; //assign value of card fare string ticketFare = "Adult Standard Ticket -- " + "$" + DBGuide.QueryFareFromDatabase(bStatCode, aStatCode)[1]; //assign value of ticket fare string timeTaken = "Time Taken -- " + DBGuide.QueryFareFromDatabase(bStatCode, aStatCode)[2] + " minutes"; //assign value of time taken bool cardFareValue = radCardFare.IsChecked.Value; //check if radiobutton is checked bool ticketFareValue = radTicketFare.IsChecked.Value; //check if radiobutton is checked bool time = radTime.IsChecked.Value; //check if radiobutton is checked bool fare = radFare.IsChecked.Value; //check if radiobutton is checked string output = string.Empty; //empty string if (chkAdvFeature.IsChecked.Value) //if checkbox for advanced feature is checked { if (time) //if time is true { output = Guide.FindPathV2(bStatCode, aStatCode, chkAdvFeature.IsChecked.Value); //output } else if (fare) //if fare is true { output = Guide.FindPathV2(bStatCode, aStatCode, chkAdvFeature.IsChecked.Value); //output } else { output = "Error"; } } else //else { output = Guide.FindPathV2(bStatCode, aStatCode, chkAdvFeature.IsChecked.Value); //output } DisplayResults Results = new DisplayResults(); //create new instance of Results form if (cardFareValue) //if true { Results.Show(); //show Results form Results.txtBoxDisplay.Text = "Displaying Route : " + "\n" + output; //calls Guide.FindPathV2 and Displays Output in textbox in DirectionsResults window Results.tripDetails.Text = "-- Fare Details and Time -- \n" + cardFare + "\n" + timeTaken; //Fare Details and Time this.Hide(); //hides current window DBGuide.InsertFareDataIntoHistory(bStatCode, aStatCode, 'C'); //Insert Query into database } else if (ticketFareValue) //else if ticketfarevalue is true { Results.Show(); //show Results form Results.txtBoxDisplay.Text = "Displaying Route : " + "\n" + output; //calls Guide.FindPathV2 and Displays Output in textbox in DirectionsResults window Results.tripDetails.Text = "-- Fare Details and Time -- \n" + ticketFare + "\n" + timeTaken; //fare details and time this.Hide(); //hides current window DBGuide.InsertFareDataIntoHistory(bStatCode, aStatCode, 'T'); //Insert Query into database } else { Results.Show(); //show Results form Results.txtBoxDisplay.Text = "Displaying Route : " + "\n" + output; //calls Guide.FindPathV2 and Displays Output in textbox in DirectionsResults window Results.tripDetails.Text = "-- Fare Details and Time -- \n" + cardFare + "\n" + ticketFare + "\n" + timeTaken + "\nThis fare record will not be inserted into the database as Fare Type has not been selected"; //fare details and time this.Hide(); //hides current window } }