private async void OnLoginClicked(object sender, EventArgs e)
{
string username = UsernameEntry.Text;
string password = PasswordEntry.Text;
// Сбрасываем ошибки
ErrorBorder.IsVisible = false;
LoginButton.IsEnabled = false;
LoginButton.Text = "Вход...";
try
{
using (var connection = new SqlConnection(connectionString))
{
connection.Open();
string sql = "SELECT FullName, Role, [Group] FROM users WHERE Username = @Username AND Password = @Password";
using (var command = new SqlCommand(sql, connection))
{
command.Parameters.AddWithValue("@Username", username);
command.Parameters.AddWithValue("@Password", password);
using (var reader = command.ExecuteReader())
{
if (reader.Read())
{
string fullName = reader["FullName"].ToString();
// Переходим на профиль
await Navigation.PushAsync(new ProfilePage());
await DisplayAlert("Успешный вход", $"Добро пожаловать, {fullName}!", "OK");
}
else
{
ErrorLabel.Text = "Неверный логин или пароль. Проверьте правильность введенных данных.";
ErrorBorder.IsVisible = true;
}
}
}
}
}
catch (Exception ex)
{
ErrorLabel.Text = $"Ошибка подключения к системе: {ex.Message}";
ErrorBorder.IsVisible = true;
}
finally
{
LoginButton.IsEnabled = true;
LoginButton.Text = "Войти";
}
}