示例#1
0
        // CRUD - Methoden start

        public static Benutzer Create(Connector connector, string login_name, string email_adresse, string passwort, uint rollen_nr)
        {
            string tabellenName;

            switch (rollen_nr)
            {
            case 1:
                tabellenName = "T_Admins";
                break;

            case 2:
                tabellenName = "T_Dozenten";
                break;

            case 3:
                tabellenName = "T_Schueler";
                break;

            default:
                // TODO besser als Check-Constraint in der DB realisieren
                throw new UnsupportedRoleException();
            }

            MySqlConnection connection = connector.Connection;

            connection.Open();

            string query = String.Format("INSERT INTO T_Benutzer (`login_name`,`email_adresse`, `passwort`, `fk_rolle_nr`) VALUES ('{0}', '{1}', PASSWORD('{2}'), '{3}' );",
                                         login_name, email_adresse, passwort, rollen_nr);

            connector.ExecuteNonQuery(query);

            query = "SELECT p_benutzer_nr FROM T_Benutzer WHERE login_name='" + login_name + "';";
            uint benutzer_nr = (uint)connector.ExecuteScalar(query);

            query = "INSERT INTO `" + tabellenName + "` (`p_f_benutzer_nr`) VALUES (" + benutzer_nr + ");";
            connector.ExecuteNonQuery(query);

            // das muss eventuel aus einer globalen Konfiguration gelesen werden
            uint[] kapazitaet           = { 10, 20, 30, 40, 50 }; // Karten
            uint[] anzahlWiederholungen = { 3, 2, 1, 0, 0 };
            uint[] wiederholungsspanne  = { 1, 2, 5, 10, 14 };    //  Tage

            for (int i = 0; i < 5; i++)
            {
                query = "INSERT INTO T_Faecher (kapazitaet, anzahl_wiederholungen, wiederholungs_zeitspanne, f_benutzer_nr ) VALUES ('{0}', '{1}', '{2}', '{3}');";
                query = String.Format(query, kapazitaet[i], anzahlWiederholungen[i], wiederholungsspanne[i], benutzer_nr);
                uint nummer_neues_fach = (uint)connector.ExecuteNonQuery(query);
            }

            connector.Connection.Close();

            return(Read(connector, benutzer_nr));
        }
示例#2
0
        // Delete fom DB
        public void Delete(Connector connector)
        {
            connector.Connection.Open();

            string query = "DELETE FROM T_Fragen WHERE p_frage_nr=" + Frage_nr;

            connector.ExecuteNonQuery(query);

            connector.Connection.Close();
        }
示例#3
0
        public void Delete(Connector connector)
        {
            connector.Connection.Open();

            string query = "DELETE FROM T_Fach WHERE p_f_benutzer_nr = " + this.Benutzer.Benutzer_nr + " AND p_f_frage_nr" + this.Frage.Frage_nr + " AND p_f_fach_nr" + this.Fach.Fach_nr;

            connector.ExecuteNonQuery(query);

            connector.Connection.Close();
        }
示例#4
0
        public void Delete(Connector connector)
        {
            connector.Connection.Open();

            string query = "DELETE FROM T_Benutzer WHERE p_benutzer_nr=" + Benutzer_nr;

            connector.ExecuteNonQuery(query);

            connector.Connection.Close();
        }
示例#5
0
        public void Update(Connector connector)
        {
            connector.Connection.Open();

            string query = "UPDATE T_Benutzer_Frage_Fach SET richtig = '{0}', falsch = '{1}' WHERE  p_f_benutzer_nr = " + this.Benutzer.Benutzer_nr + " AND p_f_frage_nr" + this.Frage.Frage_nr + " AND p_f_fach_nr" + this.Fach.Fach_nr;

            query = String.Format(query, this.Richtig, this.Falsch);
            connector.ExecuteNonQuery(query);

            connector.Connection.Close();
        }
示例#6
0
        // Update to DB
        public void Update(Connector connector)
        {
            connector.Connection.Open();

            string query = "UPDATE T_Fach SET kapazitaet='{0}', anzahl_wiederholungen='{1}', wiederholungs_zeitspanne='{2}', f_benutzer_nr='{3}' WHERE p_fach_nr='{4}'";

            query = String.Format(query, Kapazitaet, AnzahlWiederholungen, Wiederholungsspanne, Benutzer_nr);
            connector.ExecuteNonQuery(query);

            connector.Connection.Close();
        }
示例#7
0
        // Update to DB
        public void Update(Connector connector)
        {
            connector.Connection.Open();

            // kapazitaet, anzahl_wiederholungen, wiederholungs_zeitspanne, f_benutzer_nr
            string query = "UPDATE T_Fragen SET kapazitaet='{0}',anzahl_wiederholungen='{1}',wiederholungs_zeitspanne='{2}',f_benutzer_nr='{3}', antwortC='{4}', antwortD='{5}' WHERE p_frage_nr='{6}'";

            query = String.Format(query, Frage_, Loesung, AntwortA, AntwortB, AntwortC, AntwortD);
            connector.ExecuteNonQuery(query);

            connector.Connection.Close();
        }
示例#8
0
        public void Update(Connector connector)
        {
            connector.Connection.Open();


            string query = "UPDATE T_Benutzer SET (`login_name`,`email_adresse`, `passwort`, `fk_rolle_nr`) VALUES ('{0}', '{1}', PASSWORD('{2}'), '{3}' ); WHERE p_benutzer_nr = '{4}'";

            query = String.Format(query, Login_name, Email_adresse, Passwort, Rollen_nr, Benutzer_nr);
            connector.ExecuteNonQuery(query);

            connector.Connection.Close();
        }
示例#9
0
        // CRUD - Funktion start

        // Create in DB
        static public DbFrage Create(Connector connector, string frage, char loesung, string antwortA, string antwortB, string antwortC, string antwortD)
        {
            connector.Connection.Open();

            string query = "INSERT INTO T_Fragen (frage, loesung, antwortA, antwortB, antwortC, antwortD) VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}');";

            query = String.Format(query, frage, loesung, antwortA, antwortB, antwortC, antwortD);
            uint nummer_neue_frage = (uint)connector.ExecuteNonQuery(query);

            connector.Connection.Close();

            return(Read(connector, nummer_neue_frage));
        }
示例#10
0
        // CRUD - Funktion start

        // Create in DB
        static public DbFach Create(Connector connector, uint kapazitaet, uint anzahlWiederholungen, uint wiederholungsspanne, uint f_benutzer_nr)
        {
            connector.Connection.Open();

            string query = "INSERT INTO T_Faecher (kapazitaet, anzahl_wiederholungen, wiederholungs_zeitspanne, f_benutzer_nr ) VALUES ('{0}', '{1}', '{2}', '{3}');";

            query = String.Format(query, kapazitaet, anzahlWiederholungen, wiederholungsspanne, f_benutzer_nr);
            uint nummer_neues_fach = (uint)connector.ExecuteNonQuery(query);

            connector.Connection.Close();

            return(Read(connector, nummer_neues_fach));
        }
示例#11
0
        static public DbBenutzer_Frage_Fach Create(Connector connector, int richtig, int falsch, Benutzer benutzer, Frage frage, Fach fach)
        {
            connector.Connection.Open();

            string query = "INSERT INTO T_Benutzer_Fragen_Faecher (p_f_benutzer_nr, p_f_frage_nr, p_f_fach_nr, richtig, falsch) VALUES ('{0}', '{1}', '{2}', '{3}', '{4}');";

            query = String.Format(query, benutzer, frage, fach, richtig, falsch);
            uint benutzer_frage_fach_nr = (uint)connector.ExecuteNonQuery(query);

            connector.Connection.Close();


            return(Read(connector, benutzer.Benutzer_nr, frage.Frage_nr, fach.Fach_nr));
        }