79 lines
2.5 KiB
C#
79 lines
2.5 KiB
C#
using System;
|
|
using System.Windows.Forms;
|
|
using MySql.Data.MySqlClient;
|
|
|
|
namespace NeshinaPolina07_11
|
|
{
|
|
public partial class MainForm : Form
|
|
{
|
|
public MainForm()
|
|
{
|
|
InitializeComponent();
|
|
checkBox1.Checked = false;
|
|
this.Text = "Авторизация";
|
|
|
|
}
|
|
|
|
private void button1_Click(object sender, EventArgs e)
|
|
{
|
|
string login = textBox1.Text.Trim();
|
|
string password = textBox2.Text;
|
|
|
|
if (string.IsNullOrEmpty(login) || string.IsNullOrEmpty(password))
|
|
{
|
|
MessageBox.Show("Введите логин и пароль!");
|
|
return;
|
|
}
|
|
|
|
var db = DB.GetInstance();
|
|
var connection = db.GetConnection();
|
|
|
|
string query = "SELECT role_id FROM users WHERE Login = @login AND password_hash = @password";
|
|
|
|
using (var command = new MySqlCommand(query, connection))
|
|
{
|
|
command.Parameters.AddWithValue("@login", login);
|
|
command.Parameters.AddWithValue("@password", password);
|
|
|
|
object result = command.ExecuteScalar();
|
|
|
|
if (result != null && int.TryParse(result.ToString(), out int roleId))
|
|
{
|
|
switch (roleId)
|
|
{
|
|
case 1:
|
|
new _1Menu().Show();
|
|
break;
|
|
case 2:
|
|
new _2Menu().Show();
|
|
break;
|
|
case 3:
|
|
new _3Menu().Show();
|
|
break;
|
|
case 4:
|
|
new _4Menu().Show();
|
|
break;
|
|
default:
|
|
MessageBox.Show("Неизвестная роль пользователя.");
|
|
return;
|
|
}
|
|
this.Hide();
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show("Неверный логин или пароль! Попробуйте ещё раз.");
|
|
}
|
|
}
|
|
}
|
|
|
|
private void checkBox1_CheckedChanged(object sender, EventArgs e)
|
|
{
|
|
textBox2.UseSystemPasswordChar = !checkBox1.Checked;
|
|
}
|
|
|
|
private void Form1_Load(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
}
|
|
} |