private void logInButton_Click(object sender, RoutedEventArgs e) { login = this.loginBox.Text; pass = this.passwordBox.Password; MainWindow mainWindow = Owner as MainWindow; //furtka programisty do testowania (gdy podamy dane do logowania admin : admin dostajemy uprawnienia super usera, który może wszystko) if (login == "admin" && pass == "admin") { mainWindow.usr = new CurrentUser(0, "", "", "super", "user", "SU", -1); this.Close(); } //wycyckanie użytkownika z bazy danych //TO DO //zaszyfrowanie hasła pass = Encryptor.Encrypt(pass, login); try { String query = $"SELECT * FROM UZYTKOWNIK WHERE [LOGIN] like '{login}' AND [HASLO] like '{pass}'"; SqlCommand cmd = new SqlCommand(query, con); con.Open(); cmd.ExecuteNonQuery(); SqlDataReader reader; reader = cmd.ExecuteReader(); reader.Read(); mainWindow.usr = new CurrentUser(reader.GetInt32(0), reader.GetString(1), reader.GetString(2), reader.GetString(3), reader.GetString(4), reader.GetString(5), reader.GetInt32(6)); reader.Close(); con.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); con.Close(); } //jeśli się udało if (mainWindow.usr != null) { this.Close(); } else { errorInfo.Visibility = Visibility.Visible; } }
//dodanie nowego użytkownika private void button_Click(object sender, RoutedEventArgs e) { //sprawdzamy czy hasło jest minimalnej długości 5 if (pass1.Password.Length < 5) { hasloLabel.Content = "Minimalna długość hasła to 5 znaków."; return; } int accesLvl; //ustawiamy etykietę w zależności od wybranego stanowiska switch (this.listaStanowisk.Text) { case "Administrator": accesLvl = 0; break; case "Sekretarka": accesLvl = 1; break; case "Nauczyciel": accesLvl = 2; break; case "Dyrektor": accesLvl = 3; break; default: accesLvl = 4; break; } try { //sprawdzamy czy hasła są takie same if (this.pass1.Password == this.pass2.Password) { //szyfrujemy var pass = Encryptor.Encrypt(pass1.Password, this.login.Text); //ustawiamy skrypt String query = $"INSERT INTO UZYTKOWNIK (LOGIN, HASLO, IMIE, NAZWISKO, STANOWISKO, ETYKIETA) VALUES (" + $"@login, " + $"@pass, " + $"@imie, " + $"@nazwisko, " + $"@stanowisko, " + $"@etykieta)"; SqlCommand cmd = new SqlCommand(query, dbConnection); //ustawiamy parametry cmd.Parameters.AddWithValue("@login", this.login.Text); cmd.Parameters.AddWithValue("@pass", pass); cmd.Parameters.AddWithValue("@imie", this.imie.Text); cmd.Parameters.AddWithValue("@nazwisko", this.nazwisko.Text); cmd.Parameters.AddWithValue("@stanowisko", this.listaStanowisk.Text); cmd.Parameters.AddWithValue("@etykieta", accesLvl); //i wysyłamy do bazy danych dbConnection.Open(); cmd.ExecuteNonQuery(); dbConnection.Close(); this.Close(); } else { hasloLabel.Content = "Hasła się nie zgadzają!"; } } catch (Exception ex) { MessageBox.Show(ex.Message); dbConnection.Close(); this.Close(); } }