Exemplo n.º 1
0
        //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Public Packets
        static bool PublicPacketHandler(Packet p, ClientData client)
        {
            Packet response = null;

            switch (p.PacketType)
            {
            case PacketType.SchülerLogin:
                //DB-----   Try Login
                ClientHandler.Ausgabe("Auth", "Email: " + p.Data["email"] + " Passwort: " + p.Data["passwort"] + " try to login");

                DatenbankArgs args = client.db_Manager.Schüler.login(p.Data["email"].ToString(), p.Data["passwort"].ToString());
                if (args.Success)
                {
                    ClientHandler.ClientLogin(client.id);       //In liste schreiben
                    //Console.WriteLine(ClientHandler.checkLoginState(client.id));
                    //Daten speichern
                    client.email = p.Data["email"].ToString();      //email als Erkennungsmerkmal setzen
                    client.name  = (string)args.Data.Rows[0]["S_Name"];
                    client.vname = (string)args.Data.Rows[0]["S_Vorname"];
                    client.SetAutorKürzel();
                    ClientHandler.Ausgabe("Auth", client.vname + "." + client.name + "." + client.email + " (Schüler) eingeloggt");
                }
                else
                {
                    ClientHandler.Ausgabe("Auth", p.Data["email"] + " Login fehlgeschlagen!");
                }
                response = new Packet(PacketType.SchülerLogin, args.Data, args.Success, args.Error);
                //------
                break;

            case PacketType.LehrerLogin:
                //DB-----   Try Login
                ClientHandler.Ausgabe("Auth", "Email: " + p.Data["email"] + " Passwort: " + p.Data["passwort"] + " try to login");

                args = client.db_Manager.Lehrer.login(p.Data["email"].ToString(), p.Data["passwort"].ToString());
                if (args.Success)
                {
                    ClientHandler.ClientLogin(client.id);       //In liste schreiben

                    client.email = p.Data["email"].ToString();  //email als Erkennungsmerkmal setzen
                    client.name  = (string)args.Data.Rows[0]["L_Name"];
                    client.vname = (string)args.Data.Rows[0]["L_Vorname"];
                    client.SetAutorKürzel();
                    client.hasRights = true;
                    ClientHandler.Ausgabe("Auth", client.vname + "." + client.name + "." + client.email + " (Lehrer) eingeloggt");
                }
                else
                {
                    ClientHandler.Ausgabe("Auth", p.Data["email"] + " Login fehlgeschlagen!");
                }
                response = new Packet(PacketType.LehrerLogin, args.Data, args.Success, args.Error);
                //------
                break;

            case PacketType.SchülerRegistraition:     //Register Schüler

                args = client.db_Manager.Schüler.add(p.Data["name"].ToString(), p.Data["vname"].ToString(), p.Data["phone"].ToString(), p.Data["email"].ToString(), p.Data["klasse"].ToString(), p.Data["passwort"].ToString());
                if (args.Success)
                {
                    ClientHandler.Ausgabe("Auth", p.Data["email"] + " wurde erfolgreich registriert");
                }
                else
                {
                    ClientHandler.Ausgabe("Auth", p.Data["email"] + " Registrierung fehlgeschlagen!");
                }
                response = new Packet(PacketType.SchülerRegistraition, args.Data, args.Success, args.Error);
                break;

            case PacketType.LehrerRegistraition:     //Register Lehrer

                if ((string)p.Data["lehrerPasswort"] != lehrerPasswort)
                {
                    args = new DatenbankArgs("Lehrer Passwort falsch.\n Versuchen Sie es erneut.");
                }
                else
                {
                    args = client.db_Manager.Lehrer.add(p.Data["vname"].ToString(), p.Data["name"].ToString(), p.Data["anrede"].ToString(), p.Data["email"].ToString(), p.Data["passwort"].ToString(), p.Data["titel"].ToString());
                }
                if (args.Success)
                {
                    ClientHandler.Ausgabe("Auth", p.Data["email"] + " wurde erfolgreich registriert");
                }
                else
                {
                    ClientHandler.Ausgabe("Auth", p.Data["email"] + " Registrierung fehlgeschlagen!");
                }
                response = new Packet(PacketType.LehrerRegistraition, args.Data, args.Success, args.Error);
                break;

            case PacketType.Klassenwahl:
                response = Klassenwahl(client);
                break;
            }

            if (response != null)
            {
                ClientHandler.SendSinglePacket(client, response);
                //ClientHandler.Ausgabe("Auth", "Anfrage wurde bearbeitet");
                return(true);
            }
            return(false);
        }