Esempio n. 1
0
        //Überladene Methode: Gleicher Name aber andere Parametertypen
        public static void FügeNeuenHighscoreHinzu(HighscoreEintrag eintrag)
        {
            HighscoreListe.Add(eintrag);


            StreamWriter writer = null;

            try
            {
                //Speichere Liste in Datei
                writer = new StreamWriter(Dateiname, false);
                //Serialisierungen: Binäre Daten (.NET Objekte im RAM) in einen String umwandeln
                //JSON: Komprimiert und Speicherplatz sparend (string hat weniger zeichen)
                //XML: Ausführlicher, besser lesbar, von Menschen gut bearbeitbar
                string jsonString = JsonConvert.SerializeObject(HighscoreListe);
                writer.Write(jsonString);
                writer.Close();
            }
            catch (Exception exp)
            {
                System.Windows.Forms.MessageBox.Show(exp.Message);
                return;
            }
            //Finally-Block wird immer ausgeführt, auch dann wenn im catch-Block returned wurde
            finally
            {
                //Schließe die Datei, falls writer ungleich null ist
                writer?.Close();
            }

            //Eintrag in Datenbank
            SqlConnection connection = null;

            try
            {
                //In Datenbank abspeichern mittels ADO.NET
                connection = new SqlConnection(Connection_String);
                connection.Open();
                //In DB speichern
                using (var command = connection.CreateCommand())
                {
                    command.CommandText = "INSERT INTO [Table] (Name,Score,Datum) VALUES (@name,@score, @datum)";
                    command.Parameters.AddWithValue("@name", eintrag.Name);
                    command.Parameters.AddWithValue("@score", eintrag.Score);
                    command.Parameters.AddWithValue("@datum", eintrag.Datum);

                    if (command.ExecuteNonQuery() != 1)
                    {
                        System.Windows.Forms.MessageBox.Show("Datenbank Problem");
                    }
                }
            }
            catch (Exception exp)
            {
                System.Windows.Forms.MessageBox.Show($"Es gibt ein Problem mit der DB-Verbindung, bitte lege eine passende Datenbank an!\nFehlermeldung: {exp.Message}");
            }
            finally
            {
                connection?.Close();
            }
        }
Esempio n. 2
0
 public static bool FilterNachScore(HighscoreEintrag eintrag)
 {
     return(eintrag.Score > 15);
 }
Esempio n. 3
0
        public static object SortierKriterium(HighscoreEintrag eintrag)
        {
            System.Windows.Forms.MessageBox.Show(eintrag.ToString());

            return(eintrag.Score);
        }
Esempio n. 4
0
        public static void FügeNeuenHighscoreHinzu(string name, int score, DateTime datum)
        {
            HighscoreEintrag eintrag = new HighscoreEintrag(score, name, datum);

            FügeNeuenHighscoreHinzu(eintrag);
        }