//=================================================== // Display selected busNumber, how many seats are free // and description //=================================================== private void rowSelected(object sender, SelectionChangedEventArgs e) { Ticket takeData = new Ticket(); DataGrid dg = (DataGrid)sender; DataRowView row_selected = dg.SelectedItem as DataRowView; string busNumber = null; if (row_selected != null) { busNumber = row_selected["busNumber"].ToString(); //++++++++++++++++++++ //Bug found - when clicked on empty datagrid //++++++++++++++++++++ displayGrid.ItemsSource = takeData.choosenDB(Convert.ToInt32(busNumber)).DefaultView; Bus busData = new Bus(); DataGrid b_dg = (DataGrid)sender; DataRowView rowBus_selected = b_dg.SelectedItem as DataRowView; seatsNumberBox.Text = rowBus_selected["maxSeats"].ToString(); descriptionBox.Text = rowBus_selected["description"].ToString(); } }
//=================================================== // When dropDown then fill the comboBox with the // 'Description' values from DB // Also check the free Seats // //=================================================== private void comboBox_1_SelectionChanged(object sender, SelectionChangedEventArgs e) { Bus bus = new Bus(); Ticket ticket = new Ticket(); ComboBox cmb = (ComboBox)sender; DataRowView drv = cmb.SelectedItem as DataRowView; int holder = 0; int busNbr = 0; int seatNbr = 0; string freeSeat = null; if (drv != null) { descriptionTxt.Text = drv["description"].ToString(); // Set textbox with 'description' busNumberTxt.Text = drv["busNumber"].ToString(); // Set textbox with 'busNumber' holder = Convert.ToInt32(drv["maxSeats"].ToString()); // Set holder (int) with 'maxSeats' busNbr = Convert.ToInt32(drv["busNumber"].ToString()); // Set busNbr (int) with 'busNumber' // Creating array (only when user select from dropDown and only works for current bus string[] seats = new string[holder]; DataTable dt = ticket.choosenDB(busNbr); for (int y = 0; y < dt.Rows.Count; y++) { seatNbr = Convert.ToInt32(dt.Rows[y]["seatNumber"]); for (int i = 1; i < seats.Length + 1; i++) { if (i == seatNbr) { seats[i - 1] = seatNbr.ToString(); } } } for (int z = 0; z < seats.Length; z++) { if (seats[z] == null) { freeSeat = (z + 1).ToString(); comboSeat.Items.Add(freeSeat); } } } }