homework24nov/NeshinaPolina2111/Authorization.cs
2025-11-24 01:18:10 +04:00

75 lines
2.5 KiB
C#

using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace NeshinaPolina2111
{
public partial class Authorization : Form
{
public Authorization()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string login = tbLogin.Text.Trim();
string password = tbPassword.Text.Trim();
if (string.IsNullOrWhiteSpace(login) || string.IsNullOrWhiteSpace(password))
{
MessageBox.Show("Введите логин и пароль.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
var db = DB.GetInstance();
var conn = db.GetConnection();
try
{
string query = "SELECT idAuthorization, idRole FROM Authorization WHERE Login = @login AND Password = @password";
using (var cmd = new MySqlCommand(query, conn))
{
cmd.Parameters.AddWithValue("@login", login);
cmd.Parameters.AddWithValue("@password", password);
int authId = 0;
int roleId = 0;
using (var reader = cmd.ExecuteReader())
{
if (reader.Read())
{
authId = Convert.ToInt32(reader["idAuthorization"]);
roleId = Convert.ToInt32(reader["idRole"]);
}
else
{
MessageBox.Show("Неверный логин или пароль.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
MainForm mainForm = new MainForm(roleId, authId, this);
this.Hide();
mainForm.ShowDialog();
this.Show();
tbLogin.Clear();
tbPassword.Clear();
}
}
catch (Exception ex)
{
MessageBox.Show($"Ошибка при входе: {ex.Message}", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
}