// wczytanie z bazy public static List <Zawody> Wczytaj() { List <Zawody> listaZawodow = new List <Zawody>(); MySqlConnection polaczenie = Baza.Polaczenie(); polaczenie.Open(); try { string maxID = "SELECT MAX(ID_Zawodow) FROM Zawody"; MySqlCommand cmd = new MySqlCommand(maxID, polaczenie); MySqlDataReader dr = cmd.ExecuteReader(); dr.Read(); int ilosc = Convert.ToInt32(dr[0]); dr.Close(); int i = 1; while (i <= ilosc) { string pobierz = "SELECT * FROM Zawody WHERE ID_Zawodow = " + i; cmd.CommandText = pobierz; dr = cmd.ExecuteReader(); dr.Read(); int id = Convert.ToInt32(dr[0]); DateTime data = Convert.ToDateTime(dr[1]); int id_skoczni = Convert.ToInt32(dr[2]); dr.Close(); Zawody turniej = new Zawody(id, data, id_skoczni); listaZawodow.Add(turniej); i++; } } catch (Exception e) { MessageBox.Show("Błąd połączenia\n" + e.ToString()); } finally { polaczenie.Close(); } return(listaZawodow); }
// zapis do bazy public void Zapisz(Zawody turniej) { MySqlConnection polacz = Baza.Polaczenie(); polacz.Open(); string wstaw = String.Format("INSERT INTO Zawody VALUES({0},'{1}',{2})", turniej.id, turniej.data, turniej.id_skoczni); MySqlCommand cmd = new MySqlCommand(wstaw, polacz); try { cmd.ExecuteNonQuery(); } catch (Exception e) { MessageBox.Show("Błąd połączenia\n" + e.ToString()); } finally { polacz.Close(); } }
// *** SYMULACJA *** // Rozpoczęcie SYMULACJI skoków private void bt_symulacja_start_Click(object sender, EventArgs e) { rtb_symulacja_rekordy.Clear(); rtb_symulacja_skoki.Clear(); List <Skoczkowie> listaSkoczkow = Skoczkowie.Wczytaj(); List <Skocznie> listaSkoczni = Skocznie.Wczytaj(); List <Zawody> listaZawodow = Zawody.Wczytaj(); List <Skoki> listaSkokow = Skoki.Wczytaj(); // symulacja na wszystkich skoczniach if (cb_symulacja_skocznie.Checked) { foreach (Skocznie skocznia in listaSkoczni) { skocznia.PobitoRekord += skocznia_PobitoRekord; Zawody turniej = new Zawody(listaZawodow.Count + 1, DateTime.Now, skocznia.id); listaZawodow.Add(turniej); if (cb_symulacja_zapis.Checked) { turniej.Zapisz(turniej); } foreach (Skoczkowie skoczek in listaSkoczkow) { Skoki skok = Symuluj(listaSkokow.Count + 1, skoczek, skocznia, turniej.id); listaSkokow.Add(skok); if (cb_symulacja_zapis.Checked) { skok.Zapisz(skok); skoczek.ZapiszZdobytePunkty(skoczek); } if (!cb_symulacja_widok.Checked) { rtb_symulacja_skoki.Text += skok.ToString(); } } } } }