Beispiel #1
0
 //Passwort zurücksetzen
 private void mi_PW_Butt_Click(object sender, EventArgs e)
 {
     try
     {
         //Standartpasswort wird gesetzt
         SqlConnection.ExecuteStatement("UPDATE tmitarbeiter SET miPasswort = '" + Md5.GetMD5("#10!?" + userNameTB.Text.ToLower() + startpw + "~^g2+3") +
                                        "' WHERE miID = '" + ((ListItem)userNameBox.SelectedItem).DatabankID + "'");
         MessageBox.Show("Das Passwort wurde auf " + startpw + " gesetzt");
     }
     catch (MySqlException ex)
     {
         MessageBox.Show("Es kam zu einem Problem mit der Datenbank." + Environment.NewLine +
                         "Fehlernummer: " + ex.Number + Environment.NewLine +
                         "Fehlerbeschreibung: " + ex.Message, "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Beispiel #2
0
        //Neuen Mitarbeiter anlegen
        private void mit_New_Butt_Click(object sender, EventArgs e)
        {
            //Keine Bearbeitung aktiv
            if (mitarbeiterBearbStatus == 0)
            {
                mi_New_Butt.Text       = "Anlegen";
                mi_Cancel_Butt.Visible = true;
                mi_Del_Butt.Enabled    = false;
                mi_PW_Butt.Enabled     = false;
                mi_Change_Butt.Enabled = false;
                roleBox.SelectedIndex  = 1;

                //Textboxen enablen
                setMitarbeiterReadOnly(false);

                //Textboxen leeren
                userNameTB.Text = "";
                nameTB.Text     = "";
                vornameTB.Text  = "";
                mailTB.Text     = "";

                mitarbeiterBearbStatus = 2;
            }
            //Neuer Mitarbeiter
            else if (mitarbeiterBearbStatus == 2)
            {
                if (mitarbeiterValid() && userNameTB.Text != "" && nameTB.Text != "" && vornameTB.Text != "" && mailTB.Text != "")
                {
                    string pwCoded = Md5.GetMD5("#10!?" + userNameTB.Text.ToLower() + startpw + "~^g2+3");

                    //Überprüfen, ob Benutzername bereits benutzt wird
                    if (SqlConnection.CountStatement("SELECT COUNT(miUsername) FROM tMitarbeiter WHERE miUsername LIKE '" + userNameTB.Text + "'") < 1)
                    {
                        try
                        {
                            //Benutzer abspeichern
                            SqlConnection.ExecuteStatement("INSERT INTO tmitarbeiter " +
                                                           "(`roID`, `miName`, `miVorname`, `miUsername`, `miPasswort`, `miEMail`) " +
                                                           "VALUES ('" + ((ListItem)roleBox.SelectedItem).DatabankID + "','"
                                                           + vornameTB.Text + "','" + nameTB.Text + "','"
                                                           + userNameTB.Text + "','" + pwCoded + "','"
                                                           + mailTB.Text + "')");

                            MessageBox.Show("Neuer User wurde angelegt. Passwort ist: " + startpw);
                            //Buttons enablen
                            mi_New_Butt.Text       = "Neuer Mitarbeiter";
                            mi_Del_Butt.Enabled    = true;
                            mi_PW_Butt.Enabled     = true;
                            mi_Change_Butt.Enabled = true;

                            mi_Cancel_Butt.Visible = false;

                            setMitarbeiterReadOnly(true);

                            mitarbeiterInitialisieren();

                            mitarbeiterBearbStatus = 0;
                        }
                        catch (MySqlException ex)
                        {
                            MessageBox.Show("Es kam zu einem Problem mit der Datenbank." + Environment.NewLine +
                                            "Fehlernummer: " + ex.Number + Environment.NewLine +
                                            "Fehlerbeschreibung: " + ex.Message, "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                    else
                    {
                        MessageBox.Show("Dieser Benutzername wird bereits verwendet.", "Hinweis", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                    }
                }
                else
                {
                    MessageBox.Show("Es wurden nicht alle Felder korrekt ausgefüllt.");
                }
            }
        }
        private void login_Butt_Click(object sender, EventArgs e)
        {
            //Check, ob Name und Passwort eingegeben wurden
            if (login_Name_Box.Text != "" && login_PW_Box.Text != "")
            {
                try
                {
                    string startpw = Md5.GetMD5("#10!?" + login_Name_Box.Text + "#start12~^g2+3");
                    string pw      = Md5.GetMD5("#10!?" + login_Name_Box.Text.ToLower() + login_PW_Box.Text + "~^g2+3");

                    DataTable user = SqlConnection.SelectStatement("SELECT  miId, roID FROM tmitarbeiter WHERE miUsername = '******' AND miPasswort = '" + pw + "'");

                    DataTableReader reader = user.CreateDataReader();


                    //Wurde kein Treffer gefunden, existiert der Mitarbeiter nicht, bzw falsches Passwort
                    if (reader.HasRows)
                    {
                        //Rolle abspeichern
                        reader.Read();

                        //Vorrübegehende Lösung weil das so ist!
                        int rolle = Convert.ToInt32(reader[1].ToString());
                        //int rolle = reader.GetInt32(1);
                        int userId = reader.GetInt32(0);

                        try
                        {
                            //Die Session mit der Rolle wird erstellt und die Hauptmaske geöffnet.
                            Session.CreateSession(rolle, userId);
                            if (startpw == pw)
                            {
                                ChangePW changepwform = new ChangePW(true);
                                if (changepwform.ShowDialog() != DialogResult.OK)
                                {
                                    Environment.Exit(0);
                                }
                            }
                            this.DialogResult = DialogResult.OK;
                            this.Close();
                        }
                        catch (FormatException)
                        {
                            //Falls der Benutzer nicht die Rolle 1, oder 2 hatte, was nicht passieren darf.
                            MessageBox.Show("Es scheint ein Fehlerhafter Benutzer angelegt worden zu sein.");
                        }
                    }
                    else
                    {
                        MessageBox.Show("Sie haben einen falschen Benutzername/Passwort eingegeben.");
                    }
                }
                catch (MySqlException ex)
                {
                    switch (ex.Number)
                    {
                    case 0:
                        MessageBox.Show("Datenbank konnte nicht erreicht werden.", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        break;

                    case 1042:
                        MessageBox.Show("Datenbank konnte nicht erreicht werden", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        break;

                    case 1045:
                        MessageBox.Show("Falscher Datenbankbenutzer/Passwort.", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        break;

                    default:
                        MessageBox.Show("Es kam zu einem unerwarteten Fehler mit der Datenbank.", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        break;
                    }
                }
            }
        }