Example #1
0
        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;
            }
        }
Example #2
0
        //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();
            }
        }