private void GetLicenseKey(object sender, EventArgs e) { try { //Выбор почты главного администратора string MainAdminMail = new Shifr().DeShifrovka(new SQL_Query().GetInfoFromBD("select User_Mail from users where id_user = 1"), "Mail"); // Отправка пароля по почте MailMessage mail = new MailMessage("*****@*****.**", MainAdminMail, "Ключ активации программы Psico", "Ключ активации программного продукта для преподавателя: " + new Shifr().DeShifrovka(new SQL_Query().GetInfoFromBD("select DefenderKey from defender"), "Kod") + ""); SmtpClient client = new SmtpClient("smtp.yandex.ru") { Port = 587, Credentials = new NetworkCredential("*****@*****.**", "DogCatPigMonkeyLionTiger"), EnableSsl = true }; client.Send(mail); // Вывод сообщения CreateInfo("Ключ активации программного продукта\r\n для преподавателя был отправлен на\r\n почту главному администратору!", "lime", panel1); } catch { // Вывод сообщения CreateInfo("Ключ активации программного продукта\r\n для преподавателя не был отправлен,\r\n проверьте подключение к интернету!", "red", panel1); } }
private void FormLoad(object sender, EventArgs e) { // Адаптация под разрешение экрана FormAlignment(); // Проверка на существование ключа активации программного продукта string CheckLicenseKey = new SQL_Query().GetInfoFromBD("select defenderkey from defender"); if (CheckLicenseKey == "0") { // Генерация нового ключа активации string key = new Shifr().Shifrovka(GetKey(), "Kod"); // Обновление ключа активации программного продукта new SQL_Query().UpdateOneCell("insert into defender(DefenderKey) values ('" + key + "')"); } }
public void ExProtokolSent() { // Выбор почты главного администратора string UserMail = new Shifr().DeShifrovka(new SQL_Query().GetInfoFromBD("select User_Mail as 'mail' from users where id_user = 1"), "Mail"); // Отправка сообщения с протоколом на почту главному администратору try { MailMessage mail = new MailMessage("*****@*****.**", UserMail, "Протокол от программы psico.", ""); SmtpClient client = new SmtpClient("smtp.yandex.ru"); mail.Attachments.Add(new Attachment(Program.doc)); client.Port = 587; client.Credentials = new NetworkCredential("*****@*****.**", "DogCatPigMonkeyLionTiger"); client.EnableSsl = true; client.Send(mail); }catch { } // Изменение статуса пользователя на "Не в сети" new SQL_Query().UpdateOneCell("UPDATE users SET UserStatus=0 WHERE id_user = "******""); }
private void DeleteZadachaa(object sender, EventArgs e) { // Проверка на существование диагностических задач в программе string checkZadacha = new SQL_Query().GetInfoFromBD("select zapros from zadacha"); if (checkZadacha != "0") { switch (Delete) { case 0: try { //Выбор почты главного администратора string MainAdminMail = new Shifr().DeShifrovka(new SQL_Query().GetInfoFromBD("select User_Mail from users where id_user = 1"), "Mail"); // Генерация ключа для удаления задачи Key = GetKey(); // Отправка пароля по почте MailMessage mail = new MailMessage("*****@*****.**", MainAdminMail, "Удаление диагностической задачи в программе Psico", "В программе была зарегистрированна попытка удаления задачи пользователем под номером: " + Program.user + ", ключ для удаления: " + Key); SmtpClient client = new SmtpClient("smtp.yandex.ru"); client.Port = 587; client.Credentials = new NetworkCredential("*****@*****.**", "DogCatPigMonkeyLionTiger"); client.EnableSsl = true; client.Send(mail); // Вывод сообщения CreateInfo("На почту главного администратора выслан ключ для удаления задачи, вам необходимо его указать и ещё раз нажать на кнопку удаления", "lime", panel1); // Обновление формы comboBox1.Enabled = false; textBox1.Visible = true; Delete = 1; } catch { // Вывод сообщения CreateInfo("Ошибка отправки ключа, обратитесь к главному администратору!", "red", panel1); } break; case 1: // Проверка на ввод данных if (textBox1.Text != "") { // Проверка количества попыток ввода кода подтрвеждения if (kolvoPopitok < 5) { // Проверка на корректность указанного кода подтверждения if (textBox1.Text == Key) { // Вывод сообщения DialogResult result = MessageBox.Show("Если вы удалите задачу, её не возможно будет вернуть, также задача удалится и у остальных пользователях!", "Внимание!", MessageBoxButtons.YesNo, MessageBoxIcon.Information); // Если была нажата кнопка "Ок" if (result == DialogResult.Yes) { // Запись в переменную выбранной диагностической задачи int SelectedNumb = Convert.ToInt32(comboBox1.SelectedValue); // Удаление задачи new SQL_Query().DeleteInfoFromBD("delete from resh where zadacha_id = " + SelectedNumb + ""); new SQL_Query().DeleteInfoFromBD("delete from Fenom1 where zadacha_id = " + SelectedNumb + ""); new SQL_Query().DeleteInfoFromBD("delete from CBFormFill where zadacha_id = " + SelectedNumb + ""); new SQL_Query().DeleteInfoFromBD("delete from dpo where zadacha_id = " + SelectedNumb + ""); new SQL_Query().DeleteInfoFromBD("delete from vernotv where zadacha_id = " + SelectedNumb + ""); new SQL_Query().DeleteInfoFromBD("delete from Zadacha where id_zadacha = " + SelectedNumb + ""); // Обновление списка задач new SQL_Query().GetInfoForCombobox("select id_zadacha as \"ido\" from zadacha", comboBox1); // Вывод сообщения CreateInfo("Задача успешно удалена!", "lime", panel1); // Обновление формы textBox1.Visible = false; textBox1.Text = ""; comboBox1.Enabled = true; Delete = 0; kolvoPopitok = 0; } else { // Открытие главной формы администратора new administrator().Show(); Close(); } } else { // Вывод сообщения CreateInfo("Указанный ключ для удаления задачи неверен!", "red", panel1); // Прибавление количества попыток ввода кода подтверждения kolvoPopitok++; } } else { // Обновление формы textBox1.Visible = false; textBox1.Text = ""; comboBox1.Enabled = true; Delete = 0; kolvoPopitok = 0; // Вывод сообщения CreateInfo("Вы превысили лимит попыток ввода ключа для удаления задачи, вам необходимо отправить новый ключ главному администратору!", "red", panel1); } } else { // Вывод сообщения CreateInfo("Необходимо ввести ключ для удаления задачи!", "red", panel1); } break; } } else { CreateInfo("В программе отсутствуют диагностические задачи!", "red", panel1); } }
private void GetRegistretion(object sender, EventArgs e) { // Обнуление переменных int TeacherId = 0; string EndData = ""; // Подключение к БД con.Open(); // Проверка выбранной формы регистрации switch (Registr) { // Регистрация студента case 1: // Проверка на ввод данных if ((panel3.Controls["textbox1"] as TextBox).Text != "") { // Проверка на ввод данных if ((panel3.Controls["textbox2"] as TextBox).Text != "" && (panel3.Controls["textbox3"] as TextBox).Text != "") { // Проверка на существование преподавателя с указанным логином TeacherId = Convert.ToInt32(new SQL_Query().GetInfoFromBD("select id_user as 'id' from users where User_Login = '******'")); // если преподаватель с указанным логином существует if (TeacherId != 0) { // Проверка на существование пользователя с указанным логином LoginCheck = new SQL_Query().GetInfoFromBD("select User_Mail from users where User_Login='******'"); // Если пользователя с указанным логином не существует if (LoginCheck == "0") { // Проверка роли по указанному логину преподавателя string CheckRole = new SQL_Query().GetInfoFromBD("select Naim as 'RoleName' from Role where users_id = '" + TeacherId + "'"); // Если указанный логин является логином преподавателя if (CheckRole == "Teacher") { // Проверка указанной почты на существование string CheckMail = ""; CheckMail = new CheckExistMail().CheckMail(panel3.Controls["textbox3"].Text); // Если указанная почта существует if (CheckMail == "Почтовый ящик существует") { // Выбор номера преподавателя студента int PrepodID = Convert.ToInt32(new SQL_Query().GetInfoFromBD("select Teacher_id as 'ID' from users where id_user = '******'")); // Выбор количества доступных регистраций студентов у преподавателя int studentkolvo = Convert.ToInt32(new SQL_Query().GetInfoFromBD("select KolvoNeRegStudents as 'kolvostudents' from Teachers where id_teacher = '" + PrepodID + "'")); // Если количество возможных регистраций студентов не равно 0 if (studentkolvo > 0) { // Генерация пароля для студента string password = GetPassword(); try { // Отправка пароля по почте MailMessage mail = new MailMessage("*****@*****.**", (panel3.Controls["textbox3"] as TextBox).Text, "Регистрация в программе Psico", "Вы успешно зарегистрировались в программе Psico.\r\n" + "Ваши данные для авторизации:\r\n" + " Логин: " + panel3.Controls["textbox2"].Text + ".\r\n" + " Пароль: " + password + ".\r\n"); SmtpClient client = new SmtpClient("smtp.yandex.ru"); client.Port = 587; client.Credentials = new NetworkCredential("*****@*****.**", "DogCatPigMonkeyLionTiger"); client.EnableSsl = true; client.Send(mail); } catch { CreateInfo("Сообщение с вашим паролем не было отправлено, обратитесь к администратору!", "red", panel1); } // Запись данных в БД SqlCommand StrPrc2 = new SqlCommand("users_add", con); StrPrc2.CommandType = CommandType.StoredProcedure; StrPrc2.Parameters.AddWithValue("@User_Login", (panel3.Controls["textbox2"] as TextBox).Text); StrPrc2.Parameters.AddWithValue("@User_Password", new Shifr().Shifrovka(password, "Pass")); StrPrc2.Parameters.AddWithValue("@User_Mail", new Shifr().Shifrovka((panel3.Controls["textbox3"] as TextBox).Text, "Mail")); StrPrc2.Parameters.AddWithValue("@UserStatus", 0); StrPrc2.Parameters.AddWithValue("@Teacher_id", PrepodID); StrPrc2.ExecuteNonQuery(); // Изменение количества возможных регистраций студентов у преподавателя на 1 new SQL_Query().UpdateOneCell("UPDATE Teachers SET KolvoNeRegStudents=" + (studentkolvo - 1) + " WHERE id_teacher = " + PrepodID + ""); // Выбор номера добавленного пользователя int UserId = Convert.ToInt32(new SQL_Query().GetInfoFromBD("select id_user as 'id' from users where User_Login = '******'")); // Запись данных В БД SqlCommand StrPrc3 = new SqlCommand("Role_add", con); StrPrc3.CommandType = CommandType.StoredProcedure; StrPrc3.Parameters.AddWithValue("@Naim", "Student"); StrPrc3.Parameters.AddWithValue("@Users_id", UserId); StrPrc3.Parameters.AddWithValue("@Dostup_id", 3); StrPrc3.ExecuteNonQuery(); // Вывод сообщения MessageBox.Show("Вы успешно зарегистрировались", "Отлично!", MessageBoxButtons.OK, MessageBoxIcon.Information); // Удаление динамической созданной Panel new Autorization().CloseInfo(); // Переход на форму авторизации OpenAutorizationForm(); } else { CreateInfo("Превышено максимально возможное число студентов у преподавателя!", "red", panel1); } } else { CreateInfo(CheckMail, "red", panel1); } } else { CreateInfo("Преподавателя с таким логином не существует!", "red", panel1); } } else { CreateInfo("Пользователь с таким логином уже существует!", "red", panel1); } } else { CreateInfo("Преподавателя с таким логином не существует!", "red", panel1); } } else { CreateInfo("Заполнены не все поля для успешной регистрации! Пожалуйста заполните все необходимые поля для регистрации.", "red", panel1); } } else { CreateInfo("Вы не ввели логин преподавателя, без него регистрация невозможна!", "red", panel1); } break; // Регистрация преподавателя case 2: // Проверка на ввод данных if ((panel3.Controls["textbox4"] as TextBox).Text != "") { // Выбор ключа активации программного продукта KeyCheck = new SQL_Query().GetInfoFromBD("select DefenderKey from defender"); // Проверка указанного ключа активации на корректность if ((panel3.Controls["textbox4"] as TextBox).Text == new Shifr().DeShifrovka(KeyCheck, "Kod")) { // Проверка на ввод данных if ((panel3.Controls["textbox5"] as TextBox).Text != "" && (panel3.Controls["textbox6"] as TextBox).Text != "" && (panel3.Controls["textbox7"] as TextBox).Text != "") { // Проверка на существование указанного уникального имени в БД checkteacherUniqueNaim = Convert.ToInt32(new SQL_Query().GetInfoFromBD("select id_teacher from Teachers where Unique_Naim='" + (panel3.Controls["textbox8"].Text) + "'")); // Если указанное уникальное имя не зарегистрированно в БД if (checkteacherUniqueNaim == 0) { // Проверка на существование указанного логина в БД LoginCheck = new SQL_Query().GetInfoFromBD("select User_Mail from users where User_Login='******'"); // Если указанный логин не зарегистрирован в БД if (LoginCheck == "0") { // Проверка указанной почты на существование string CheckMail = ""; CheckMail = new CheckExistMail().CheckMail(panel3.Controls["textbox6"].Text); // Если указанная почта существует if (CheckMail == "Почтовый ящик существует") { // Выбор сегодняшней даты string Day = new SQL_Query().GetInfoFromBD("select Day(getdate()) as 'Day'"); if (Convert.ToInt32(Day) < 10) { Day = "0" + Day; } string Month = (Convert.ToInt32(new SQL_Query().GetInfoFromBD("select MONTH(getdate()) as 'Month'")) + 1).ToString(); if (Convert.ToInt32(Month) < 10) { Month = "0" + Month; } string Year = new SQL_Query().GetInfoFromBD("select Year(getdate()) as 'Year'"); EndData = Year + "-" + Month + "-" + Day; // Генерация пароля для преподавателя string password = GetPassword(); try { // Отправка пароля по почте MailMessage mail = new MailMessage("*****@*****.**", (panel3.Controls["textbox6"] as TextBox).Text, "Регистрация в программе Psico", "Вы успешно зарегистрировались в программе Psico.\r\n" + "Ваши данные для авторизации:\r\n" + " Логин: " + panel3.Controls["textbox5"].Text + ".\r\n" + " Пароль: " + password + ".\r\n" + "Дата окончания лицензии: " + EndData + ".\r\n" + "Для изменения даты окончания лицензии необходимо обращаться к администратору."); SmtpClient client = new SmtpClient("smtp.yandex.ru"); client.Port = 587; client.Credentials = new NetworkCredential("*****@*****.**", "DogCatPigMonkeyLionTiger"); client.EnableSsl = true; client.Send(mail); } catch { CreateInfo("Сообщение с вашим паролем не было отправлено, обратитесь к администратору!", "red", panel1); } // Запись данных В БД SqlCommand StrPrc1 = new SqlCommand("Teachers_add", con); StrPrc1.CommandType = CommandType.StoredProcedure; StrPrc1.Parameters.AddWithValue("@Unique_Naim", (panel3.Controls["textbox8"] as TextBox).Text); StrPrc1.Parameters.AddWithValue("@User_End_Data", EndData); StrPrc1.Parameters.AddWithValue("@KolvoNeRegStudents", Convert.ToInt32((panel3.Controls["textbox7"] as TextBox).Text)); StrPrc1.ExecuteNonQuery(); // Выбор номера добавленного преподавателя TeacherId = Convert.ToInt32(new SQL_Query().GetInfoFromBD("select id_teacher as 'id' from Teachers where Unique_Naim='" + (panel3.Controls["textbox8"] as TextBox).Text + "'")); // Запись данных В БД SqlCommand StrPrc2 = new SqlCommand("users_add", con); StrPrc2.CommandType = CommandType.StoredProcedure; StrPrc2.Parameters.AddWithValue("@User_Login", (panel3.Controls["textbox5"] as TextBox).Text); StrPrc2.Parameters.AddWithValue("@User_Password", new Shifr().Shifrovka(password, "Pass")); StrPrc2.Parameters.AddWithValue("@User_Mail", new Shifr().Shifrovka((panel3.Controls["textbox6"] as TextBox).Text, "Mail")); StrPrc2.Parameters.AddWithValue("@UserStatus", 0); StrPrc2.Parameters.AddWithValue("@Teacher_id", TeacherId); StrPrc2.ExecuteNonQuery(); // Выбор номера добавленного пользователя int UserId = Convert.ToInt32(new SQL_Query().GetInfoFromBD("select id_user as 'id' from users where User_Login = '******'")); // Запись данных В БД SqlCommand StrPrc3 = new SqlCommand("Role_add", con); StrPrc3.CommandType = CommandType.StoredProcedure; StrPrc3.Parameters.AddWithValue("@Naim", "Teacher"); StrPrc3.Parameters.AddWithValue("@Users_id", UserId); StrPrc3.Parameters.AddWithValue("@Dostup_id", 2); StrPrc3.ExecuteNonQuery(); // Генерация нового ключа активации string key = new Shifr().Shifrovka(GetKey(), "Kod"); // Обновление ключа активации программного продукта new SQL_Query().UpdateOneCell("UPDATE defender SET DefenderKey='" + key + "' WHERE id_defend = 1"); //Вывод сообщения MessageBox.Show("Вы успешно зарегистрировались", "Отлично!", MessageBoxButtons.OK, MessageBoxIcon.Information); // Удаление динамической созданной Panel new Autorization().CloseInfo(); // Переход на форму авторизации OpenAutorizationForm(); } else { CreateInfo(CheckMail, "red", panel1); } } else { CreateInfo("Пользователь с таким логином уже существует!", "red", panel1); } } else { CreateInfo("Введённое уникальное имя уже существует, выберите другое.", "red", panel1); } } else { CreateInfo("Заполнены не все поля для успешной регистрации! Пожалуйста заполните все необходимые поля для регистрации.", "red", panel1); } } else { CreateInfo("Введённый ключ активации неверен! Пожалуйста убедитесь в правильности введённого ключа активации и попробуйде ещё раз.", "red", panel1); (panel3.Controls["textbox4"] as TextBox).Text = ""; } } else { CreateInfo("Ключ активации не был введён, пожалуйста введите ключ активации для регистрации!", "red", panel1); } break; // Если пользователь не выбрал форму регистрации default: // Вывод сообщения CreateInfo("Выберите способ регистрации!", "red", panel1); break; } con.Close(); }