Загрузка данных


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 = "Войти";
    }
}