Files
SportsTrainingApp/formLogin.xaml.cs
2025-03-25 22:59:42 +04:00

60 lines
1.8 KiB
C#

using System.Windows;
using System;
using Npgsql;
namespace SportsTrainingApp
{
public partial class formLogin : Window
{
formMain formMain;
public formLogin(formMain _formMain)
{
InitializeComponent();
formMain = _formMain;
}
private void Button_Click_2(object sender, RoutedEventArgs e)
{
this.Close();
}
private void Button_Click_1(object sender, RoutedEventArgs e)
{
int user_id = CheckUser(loginBox.Text, passwordBox.Password);
if (user_id != -1)
{
new formActivity(user_id).Show();
this.Close();
formMain.Close();
}
else
MessageBox.Show("Неверный логин/пароль!");
}
public static int CheckUser(string username, string password)
{
using (var conn = new NpgsqlConnection(formMain.connectionString))
{
conn.Open();
using (var cmd = new NpgsqlCommand("SELECT id FROM dbo.users WHERE username = @username " +
"AND password_hash = dbo.crypt(@password, password_hash)", conn))
{
cmd.Parameters.AddWithValue("username", username);
cmd.Parameters.AddWithValue("password", password);
using (var reader = cmd.ExecuteReader())
{
if (reader.Read())
{
return reader.GetInt32(0);
}
}
return -1;
}
}
}
}
}