// operator dodawania punktów public static Skoczkowie operator +(Skoczkowie skoczek, int wartosc) { Skoczkowie poSkoku = skoczek; poSkoku.punkty += wartosc; return(poSkoku); }
// wczytywanie skoczków z bazy do listy public static List <Skoczkowie> Wczytaj() { List <Skoczkowie> listaSkoczkow = new List <Skoczkowie>(); MySqlConnection polacz = Baza.Polaczenie(); polacz.Open(); try { string maxID = "SELECT MAX(ID_Skoczka) FROM Skoczkowie"; MySqlCommand cmd = new MySqlCommand(maxID, polacz); MySqlDataReader dr = cmd.ExecuteReader(); dr.Read(); int ilosc = Convert.ToInt32(dr[0]); dr.Close(); int i = 1; while (i <= ilosc) { string pobierz = "SELECT * FROM Skoczkowie WHERE ID_Skoczka = " + i; cmd.CommandText = pobierz; dr = cmd.ExecuteReader(); dr.Read(); int id = Convert.ToInt32(dr[0]); string imie = Convert.ToString(dr[1]); string nazwisko = Convert.ToString(dr[2]); DateTime data_ur = Convert.ToDateTime(dr[3]); int punkty = 0; if (dr[4] != DBNull.Value) { punkty = Convert.ToInt32(dr[4]); } string adres_zdjecia = Convert.ToString(dr[5]); int id_trenera = Convert.ToInt32(dr[6]); int id_reprezentacji = Convert.ToInt32(dr[7]); dr.Close(); Skoczkowie skoczek = new Skoczkowie(id, imie, nazwisko, data_ur, punkty, adres_zdjecia, id_trenera, id_reprezentacji); listaSkoczkow.Add(skoczek); i++; } } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { polacz.Close(); } return(listaSkoczkow); }
// wyzerowanie punktów w bazie public void WyzerujPunkty(Skoczkowie skoczek) { string zeruj = "UPDATE Skoczkowie SET Punkty = 0 WHERE ID_Skoczka = " + skoczek.id; MySqlConnection polacz = Baza.Polaczenie(); MySqlCommand cmd = new MySqlCommand(zeruj, polacz); polacz.Open(); try { cmd.ExecuteNonQuery(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
// zapisanie do bazy nowego rekordu public void ZapiszRekord(Skocznie skocznia, Skoczkowie skoczek, double nowyRekord) { string rekord = "UPDATE Skocznie SET Rekord = '" + nowyRekord + "' WHERE ID_Skoczni = " + skocznia.id; string pom = skoczek.imie + " " + skoczek.nazwisko.ToUpper(); string czyj_rekord = "UPDATE Skocznie SET Czyj_rekord = '" + pom + "' WHERE ID_Skoczni = " + skocznia.id; MySqlConnection polacz = Baza.Polaczenie(); MySqlCommand cmd = new MySqlCommand(rekord, polacz); polacz.Open(); try { cmd.ExecuteNonQuery(); cmd.CommandText = czyj_rekord; cmd.ExecuteNonQuery(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
// *** 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(); } } } } }
// wypisywanie public override string ToString() { List <Skoczkowie> listaSkoczkow = Skoczkowie.Wczytaj(); return(id + ". " + listaSkoczkow[id_skoczka - 1].imie + " " + listaSkoczkow[id_skoczka - 1].nazwisko + " [" + odleglosc + "m.] - " + punkty + "pkt.\n"); }