private void OpenDbFile() { try { temp.Flights_list.Clear(); fList = DBConnection.GetInstance().GetAllFlights(); foreach (Flight flight in fList.Flights_list) { temp.Add(flight); } FlightListDG.ItemsSource = fList.Flights_list; } catch (Exception ex) { string errMsg = ""; if (ex.Message == "Unable to connect to any of the specified MySQL hosts.") { errMsg = "Підключіть веб-сервер MySQL та виконайте команду Файл-Завантажити"; } else { errMsg = "Для завантаження файлу виконайте команду Файл-Завантажити"; } ErrorShow(ex, errMsg, MessageBoxButton.OK, MessageBoxImage.Error); } }
private void ChangeFlightListData(int num) { if (flightAdd && fList.Flights_list.Count == FlightList.MAX_AMOUNT) { ErrorShow(new Exception(), "Неможливо додати рейс. Максимальна кількість рейсів = 85. Оберіть рейс для заміни", MessageBoxButton.OK, MessageBoxImage.Error); return; } TimeSpan depTime; if (flightAdd) { fList.Add(new Flight(fList.Flights_list.Count + 1, "", "", TimeSpan.Zero, 0)); num = fList.Flights_list.Count - 1; temp.Add(fList.Flights_list[num]); } fList.Flights_list[num].number = numFlightTextBox.Text; fList.Flights_list[num].city = cityFlightTextBox.Text; if (TimeSpan.TryParse(timeFlightTextBox.Text, out depTime)) { fList.Flights_list[num].depature_time = depTime; } fList.Flights_list[num].free_seats = Convert.ToInt16(freeSeatsTextBox.Text); FlightListDG.ItemsSource = null; FlightListDG.ItemsSource = fList.Flights_list; try { if (flightAdd) { DBConnection db = DBConnection.GetInstance(); db.Add(fList.Flights_list[num]); fList.Flights_list[num].id = db.GetMaxId(); } else { DBConnection.GetInstance().Update(fList.Flights_list[num]); } } catch (Exception ex) { string errMsg; if (ex.Message == "Unable to connect to any of the specificated MySQL hosts.") { errMsg = "Підключіть веб-сервер MySQL та завантажте дані командою Файл-Завантажити"; } else { errMsg = "Для завантаження даних виконайте команду Файл - Завантажити"; } ErrorShow(ex, errMsg, MessageBoxButton.OK, MessageBoxImage.Error); } }
public FlightList GetAllFlights() { string commandString = "SELECT * FROM rozklad;"; MySqlCommand command = new MySqlCommand(); MySqlConnection conn = new MySqlConnection(connStr); command.CommandText = commandString; command.Connection = conn; MySqlDataReader reader; command.Connection.Open(); reader = command.ExecuteReader(); int i = 0; FlightList flightList = new FlightList(); while (reader.Read()) { flightList.Add(new Flight((int)reader["id"], (string)reader["number"], (string)reader["city"], (System.TimeSpan)reader["depature_time"], (int)reader["free_seats"])); i += 1; } reader.Close(); return(flightList); }