/// <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());
            }
        }
Exemple #2
0
        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);
                }
            }
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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);
        }
Exemple #6
0
 public void SchreibeLottoscheinInDb(Lottoschein ls)
 {
 }