/// <summary> /// Dem Konstruktor der Klasse Gewinnklassenrechner werden 3 Parameter übergeben. Innerhalb des Konstruktors /// werden die gespeicherten Lottoscheine mit der aktuellen Ziehung verglichen, ausgewertet und die Ergebnisse /// jeweils als String formatiert einer Arraylist übergeben. /// </summary> /// <param name="lottoschein"></param> /// <param name="aktuelleZiehung"></param> /// <param name="ziehungSuperzahl"></param> public GewinnklassenRechner(Lottoschein lottoschein, int[] aktuelleZiehung, int ziehungSuperzahl) { // Mit StringBuilder Klasse wird ein String für die Ausgabe an der GUI kreiert, der die aktuelle Ziehung // in einer ArrayList speichert. aktuelleZiehungBuilder.Append("Ziehung: "); for (int i = 0; i < aktuelleZiehung.Length; i++) { if (i == 0) { aktuelleZiehungBuilder.Append(aktuelleZiehung[i]); } else { aktuelleZiehungBuilder.Append("," + aktuelleZiehung[i]); } } aktuelleZiehungBuilder.Append(" - (" + ziehungSuperzahl + ")\n"); AktuelleZiehungList.Add(aktuelleZiehungBuilder.ToString()); // Jedes Spiel eines Lottoscheins wird mit den aktuellen Ziehungszahlen verglichen und das Ergebnis // und die Gewinnstufen als Strings formatiert in einer ArrayList gespeichert. foreach (KeyValuePair <int, SortedSet <int> > spiel in lottoschein.Spiele) { var fuegeKommaEin = false; myStringBuilder.Clear(); var counter = 0; myStringBuilder.Append(spiel.Key + "." + " "); foreach (int i in spiel.Value) { if (aktuelleZiehung.Contains(i)) { if (fuegeKommaEin) { myStringBuilder.Append(","); } else { fuegeKommaEin = true; } myStringBuilder.Append(i); counter++; } } if (counter > 1) { myStringBuilder.Append(" Getroffen " + counter); if (lottoschein.SuperZahl == ziehungSuperzahl) { myStringBuilder.Append(" + Superzahl " + ziehungSuperzahl); } } ErgebnisArr.Add(myStringBuilder.ToString()); } }
public void SchreibeLottoscheinInDb(Lottoschein lottoschein) { string cmdStr = "INSERT INTO `lottoschein`(`losNummer`, `laufZeit`, `samstagZiehung`, `mittwochZiehung`, `spiel77`, `super6`) VALUES ("; cmdStr += lottoschein.Losnummer + ','; cmdStr += lottoschein.Laufzeit.ToString() + ','; cmdStr += lottoschein.Samstag.ToString() + ','; cmdStr += lottoschein.Mittwoch.ToString() + ','; cmdStr += lottoschein.spiel77.ToString() + ','; cmdStr += lottoschein.super6.ToString() + ");"; _mySqlCommand.CommandText = cmdStr; if (_mySqlCommand.ExecuteNonQuery() > 0) { _mySqlCommand.CommandText = "SELECT LAST_INSERT_ID();"; MySqlDataReader reader = _mySqlCommand.ExecuteReader(); reader.Read(); int autoIDLottoschein = reader.GetInt32(0); reader.Close(); string prefix = "INSERT INTO `ziehung`(`datum`, `istSamstag`) VALUES ("; List <int> ziehungen = new List <int>(); foreach (DateTime date in lottoschein.Ziehungstermine) { int id = SqlInsert(prefix + sqlDate(date) + ',' + (date.DayOfWeek == DayOfWeek.Saturday).ToString() + ");"); if (id > 0) { ziehungen.Add(id); } } prefix = "INSERT INTO `gehoertzu`(`id_lottoschein`, `id_ziehung`) VALUES (" + autoIDLottoschein + ','; foreach (int autoIDZiehung in ziehungen) { SqlInsert(prefix + autoIDZiehung + ");"); } prefix = "INSERT INTO `spiel`(`id_lottoschein`, `spielNummer`, `zahl1`, `zahl2`, `zahl3`, `zahl4`, `zahl5`, `zahl6`, `superZahl`) VALUES (" + autoIDLottoschein + ','; foreach (KeyValuePair <int, SortedSet <int> > spiel in lottoschein.Spiele) { string spielValues = spiel.Key.ToString() + ','; foreach (int zahl in spiel.Value) { spielValues += zahl + ','; } spielValues += lottoschein.SuperZahl + ");"; SqlInsert(prefix + spielValues); } } }
private void auswertungsButton_Click(object sender, EventArgs e) { ergebnisse.Text = ""; int [] ziehungZahlen = new int[6]; int ziehungSuperzahl = (int)this.superzahl.Value; for (int i = 0; i < tableLayoutPanel1.ColumnCount; i++) { ziehungZahlen[i] = (int)((NumericUpDown)tableLayoutPanel1.GetControlFromPosition(i, 0)).Value; } Lottoschein lotto = new Lottoschein(losnummer.Text); for (int i = 0; i < tippsPanel.RowCount; i++) { if (((CheckBox)tippsPanel.GetControlFromPosition(0, i)).Checked == true) { int[] foo = new int[6]; for (int j = 1; j < tippsPanel.ColumnCount; j++) { foo[j - 1] = Convert.ToInt32(((NumericUpDown)tippsPanel.GetControlFromPosition(j, i)).Value); } lotto.Add(i + 1, foo); } } Ziehung z = new Ziehung(ziehungZahlen, ziehungSuperzahl, aktuelleZiehung.Value); GewinnklassenRechner ziehungsAuswertung = new GewinnklassenRechner(lotto, ziehungZahlen, ziehungSuperzahl); // GewinnklassenRechner ziehungsAuswertung = new GewinnklassenRechner(_database.LeseLottoscheinAusDb(), ziehungZahlen, ziehungSuperzahl); foreach (string s in ziehungsAuswertung.GetErgebnisse()) { ergebnisse.AppendText(s + "\n"); } // _database.SchreibeZiehungInDb(z); }
private void abschickenbutton_Click(object sender, EventArgs e) { int lz = 1; try { lz = Convert.ToInt32(laufzeit.SelectedItem); } catch (Exception) { } Lottoschein lotto = new Lottoschein( losnummer.Text, Abgabedatum.Value, Samstag.Checked, Mittwoch.Checked, spiel77.Checked, super6.Checked, lz ); for (int i = 0; i < tippsPanel.RowCount; i++) { if (((CheckBox)tippsPanel.GetControlFromPosition(0, i)).Checked == true) { int [] foo = new int[6]; for (int j = 1; j < tippsPanel.ColumnCount; j++) { foo[j - 1] = Convert.ToInt32(((NumericUpDown)tippsPanel.GetControlFromPosition(j, i)).Value); } lotto.Add(i, foo); } } _database.SchreibeLottoscheinInDb(lotto); }
static Lottoschein Konsoleneingabe() { int[] spiel = new int[6]; string ans; Lottoschein ls; while (true) { try { Console.WriteLine("Bitte die Losnummer eingeben:"); ls = new Lottoschein(Console.ReadLine()); break; } catch (FormatException fe) { Console.WriteLine(fe.Message); } } do { int spielNr; while (true) { try { Console.WriteLine("Bitte die Spielnummer (1-12) eingeben:"); spielNr = Convert.ToInt32(Console.ReadLine()); if (spielNr >= 1 && spielNr <= 12) { break; } Console.WriteLine("Ungueltige Spielnummer!"); } catch (FormatException) { Console.WriteLine("Fehlerhafte Eingabe. Bitte erneute Eingabe: "); } } for (int i = 0; i < spiel.Length; i++) { Console.WriteLine("Bitte geben Sie die {0}. Zahl ein: ", i + 1); try { spiel[i] = Convert.ToInt32(Console.ReadLine()); } catch (System.FormatException) { Console.WriteLine("Fehlerhafte Eingabe. Bitte erneute Eingabe: "); i--; continue; } if ((spiel[i] < 1) || (spiel[i] > 49)) { Console.WriteLine("Fehlerhafte Eingabe. Zahl ist nicht im Bereich."); i--; continue; } for (int k = 0; k < i; k++) { if (spiel[i] == spiel[k]) { Console.WriteLine("Fehler: Zahl wurde bereits eingegeben"); i--; } } } Console.WriteLine(ls.Update(spielNr, spiel) ? "Spiel erfolgreich eingetragen" : "Spiel konnte nicht eingetragen werden"); Console.WriteLine("Wollen Sie ein weiteres Spiel tippen? (J / N)"); ans = Console.ReadLine(); } while (ans.ToUpper() == "J"); return(ls); }
public void SchreibeLottoscheinInDb(Lottoschein ls) { }