Админ панель: управление пользователями в WPF с SQL Server и экспортом данных

Posted by Anonymous and classified in Computers

Written on in English with a size of 3.31 KB

Админ панель







Панель администратора









Инициализация страницы

public AdminPage()
{
    InitializeComponent();
    LoadUsers();
}

Загрузка пользователей

private void LoadUsers()
{
    using (SqlConnection conn = new SqlConnection(connStr))
    {
        conn.Open();
        string sql = "SELECT id_User, Login, Block, FailPassword FROM Users";
        SqlDataAdapter da = new SqlDataAdapter(sql, conn);
        System.Data.DataTable dt = new System.Data.DataTable();
        da.Fill(dt);
        dgUsers.ItemsSource = dt.DefaultView;
    }
}

private void btnRefresh_Click(object sender, RoutedEventArgs e) => LoadUsers();

Добавление пользователя

private void btnAdd_Click(object sender, RoutedEventArgs e)
{
    MessageBox.Show("Добавление пользователя");
    // TODO: открыть окно добавления
}

Редактирование пользователя

private void btnEdit_Click(object sender, RoutedEventArgs e)
{
    MessageBox.Show("Редактирование пользователя");
    // TODO: открыть окно редактирования
}

Разблокировка пользователя

private void btnUnblock_Click(object sender, RoutedEventArgs e)
{
    if (dgUsers.SelectedItem == null)
    {
        MessageBox.Show("Выберите пользователя");
        return;
    }

    dynamic row = dgUsers.SelectedItem;
    int userId = row.id_User;

    using (SqlConnection conn = new SqlConnection(connStr))
    {
        conn.Open();
        string sql = "UPDATE Users SET Block = 0, FailPassword = 0 WHERE id_User = @id";
        SqlCommand cmd = new SqlCommand(sql, conn);
        cmd.Parameters.AddWithValue("@id", userId);
        cmd.ExecuteNonQuery();
    }

    LoadUsers();
    MessageBox.Show("Пользователь разблокирован");
}

Расчет процента загрузки рейсов

SELECT
    t.ves_gruza_kg,
    a.grusopodem_kg,
    (t.ves_gruza_kg * 1.0 / a.grusopodem_kg) * 100 AS Procent
FROM Trips t
JOIN Avto a ON t.id_avto = a.id_avto

Экспорт данных

Открыть Excel → Данные → Получить данные → Из файла → Из JSON

Загрузить JSON в Excel

Сохранить как CSV (Файл → Сохранить как → Тип: CSV)

Импорт CSV в SSMS

  1. ПКМ на БД → Tasks → Import Flat File
  2. Выбрать CSV → Настроить колонки → Finish

Related entries: