-
Notifications
You must be signed in to change notification settings - Fork 0
/
LoginForm.cs
137 lines (124 loc) · 5.51 KB
/
LoginForm.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
using MySql.Data.MySqlClient;
using System;
using System.Threading.Tasks;
using System.Windows.Forms;
using MySQLData;
using System.IO;
using System.Text;
namespace jsu1xd
{
public partial class LoginForm : Form
{
string strPath = System.Environment.GetEnvironmentVariable("TEMP");
public LoginForm()
{
InitializeComponent();
}
private async Task<bool> checkLogin(string login, string password)
{
var dbCon = DBConnection.Instance();
if (dbCon.IsConnect())
{
string query_user = $"SELECT COUNT(*) FROM users WHERE login='{login}' and password='{password}'";
string query_operator = $"SELECT COUNT(*) FROM operators WHERE login='{login}' and password='{password}'";
string query_admin = $"SELECT COUNT(*) FROM admins WHERE login='{login}' and password='{password}'";
var cmd_user = new MySqlCommand(query_user, dbCon.Connection);
var cmd_operator = new MySqlCommand(query_operator, dbCon.Connection);
var cmd_admin = new MySqlCommand(query_admin, dbCon.Connection);
int reader_user = Convert.ToInt32(cmd_user.ExecuteScalar());
int reader_operator = Convert.ToInt32(cmd_operator.ExecuteScalar());
int reader_admin = Convert.ToInt32(cmd_admin.ExecuteScalar());
if (reader_user > 0)
{
string query = $"SELECT id FROM users WHERE login='{login}' and password='{password}'";
var cmd = new MySqlCommand(query, dbCon.Connection);
var result = cmd.ExecuteReader();
while (result.Read())
{
string path = Path.Combine(strPath, "jsu1xd.tmp");
using (FileStream fs = File.Create(path))
{
byte[] info = new UTF8Encoding(true).GetBytes(result.GetString(0));
fs.Write(info, 0, info.Length);
}
}
MessageBox.Show("Вы успешно вошли, Пользователь!");
dbCon.Close();
Form Userform = new UserForm();
Userform.Show();
return true;
}
else if (reader_operator > 0)
{
string query = $"SELECT id FROM operators WHERE login='{login}' and password='{password}'";
var cmd = new MySqlCommand(query, dbCon.Connection);
var result = cmd.ExecuteReader();
while (result.Read())
{
string path = Path.Combine(strPath, "jsu1xd.tmp");
using (FileStream fs = File.Create(path))
{
byte[] info = new UTF8Encoding(true).GetBytes(result.GetString(0));
fs.Write(info, 0, info.Length);
}
}
MessageBox.Show("Вы успешно вошли, Оператор!");
dbCon.Close();
Form OperFrom = new OperatorForm();
OperFrom.Show();
return true;
}
else if (reader_admin > 0)
{
string query = $"SELECT id FROM admins WHERE login='{login}' and password='{password}'";
var cmd = new MySqlCommand(query, dbCon.Connection);
var result = cmd.ExecuteReader();
while (result.Read())
{
string path = Path.Combine(strPath, "jsu1xd.tmp");
using (FileStream fs = File.Create(path))
{
byte[] info = new UTF8Encoding(true).GetBytes(result.GetString(0));
fs.Write(info, 0, info.Length);
}
}
MessageBox.Show("Вы успешно вошли, Администратор!");
dbCon.Close();
Form AdminForm = new AdminForm();
AdminForm.Show();
return true;
} else
{
MessageBox.Show("Проверьте логин и пароль");
dbCon.Close();
return false;
}
}
else
{
MessageBox.Show("Ошибка подключения. Проверьте свое соединение с интернетом и попробуйте позднее");
guna2Button1.Enabled = true;
guna2Button2.Enabled = true;
return false;
}
}
private async void button1_Click(object sender, EventArgs e)
{
guna2Button1.Enabled = false;
guna2Button2.Enabled = false;
bool result = await checkLogin(guna2TextBox1.Text, guna2TextBox2.Text);
if (result is false) {
guna2Button1.Enabled = true;
guna2Button2.Enabled = true;
} else
{
this.Hide();
}
}
private void button2_Click(object sender, EventArgs e)
{
Form RegisterForm = new RegForm();
RegisterForm.ShowDialog();
}
}
}