private void Registr_Load(object sender, EventArgs e) { //проверка налчия администратора в системе try { SqlConnection con = BDconnect.GetBDConnection(); con.Open(); SqlCommand sc = new SqlCommand("Select * from polzv where[роль] = '" + "Admin" + "'", con); //выбор данных из таблицы БД SqlDataReader dr; dr = sc.ExecuteReader(); int count = 0; while (dr.Read()) { count += 1; } dr.Close(); if (count == 0) { MessageBox.Show("В базе данных нет администратора, пожалуйста добавьте его"); admin = 1; } } catch { MessageBox.Show("Отсутствует подключение к базе данных"); } }
//вход в программу private void metroLabel3_Click(object sender, EventArgs e) { try { SqlConnection con = BDconnect.GetBDConnection(); //DeShifrovka a = new DeShifrovka(); //a.DeShifrowka(metroTextBox1.Text, "YchetPO"); con.Open(); string log = Shifrovka(metroTextBox1.Text, "YchetPO"); string pas = Shifrovka(metroTextBox2.Text, "YchetPO"); SqlCommand sc = new SqlCommand("Select * from polzv where[Логин] = '" + log + "' and[Пароль] = '" + pas + "'", con); //выбор данных из таблицы БД SqlDataReader dr; dr = sc.ExecuteReader(); int count = 0; while (dr.Read()) { count += 1; } dr.Close(); if (count == 1) { SqlCommand IP = new SqlCommand("select [I_P] from polz where[login] = '" + log + "' ", con); Program.namepolz = DeShifrovka(IP.ExecuteScalar().ToString(), "YchetPO"); //Автоматический вход с помощью реестра if (metroToggle1.Checked) { try { RegistryKey saveKey = Registry.LocalMachine.CreateSubKey("software\\Ychpo"); saveKey.SetValue("Polz", "Auto"); saveKey.SetValue("login", log); saveKey.SetValue("name", Program.namepolz); saveKey.Close(); } catch { MessageBox.Show("Пожалуйста запустите программу от имени администратора"); Application.Exit(); } } Program.loginpolz = log; Glavnaya glavnaya = new Glavnaya(); glavnaya.Show(); this.Close(); } else { MessageBox.Show("Неверный логин или пароль"); } } catch { MessageBox.Show("Отсутствует подключение к базе данных"); } }
public void buttonizmparol_Click(object sender, EventArgs e) { if (newpass.Text == newpasssubmit.Text) { try { if (newpass.Text != "") { //изменение пароля для учетной записи пользователя string npass = Shifrovka(newpass.Text, "YchetPO"); SqlConnection con = BDconnect.GetBDConnection(); con.Open(); SqlCommand izmenenieparolia = new SqlCommand("polzpass_edit", con); izmenenieparolia.CommandType = CommandType.StoredProcedure; izmenenieparolia.Parameters.AddWithValue("@id_polz", idpolz); izmenenieparolia.Parameters.AddWithValue("@password", npass); izmenenieparolia.ExecuteNonQuery(); con.Close(); MessageBox.Show("Ваш пароль успешно изменен"); Autoriz autoriz = new Autoriz(); autoriz.Show(); this.Close(); } else { MessageBox.Show("Не все поля заполнены"); } } catch { MessageBox.Show("Отсутствует подключение к базе данных"); } } else { MessageBox.Show("Пароли не совпадают"); } }
public void buttonsend_Click(object sender, EventArgs e) { string name; if (login.Text != "") { try { string log = Shifrovka(login.Text, "YchetPO"); //Запись в переменные необходимых данных о пользователе SqlConnection con = BDconnect.GetBDConnection(); con.Open(); SqlCommand emaill = new SqlCommand("select [Email] from polz where[login] = '" + log + "' ", con); email = DeShifrovka(emaill.ExecuteScalar().ToString(), "YchetPO"); SqlCommand IP = new SqlCommand("select [I_P] from polz where[login] = '" + log + "' ", con); name = DeShifrovka(IP.ExecuteScalar().ToString(), "YchetPO"); SqlCommand id = new SqlCommand("select [id_polz] from polz where[login] = '" + log + "'", con); idpolz = id.ExecuteScalar().ToString(); //Формирование четырехзначного кода подтверждения var x = new Random(); kodpodt = x.Next(1000, 9999); //Отправка электронного письма с кодом подтверждения на почту try { MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.gmail.com"); mail.From = new MailAddress("*****@*****.**"); mail.To.Add(email); mail.Subject = "Техническая поддержка"; mail.IsBodyHtml = true; string htmlBody; htmlBody = "<html><body><br><img src=\"https://storage.googleapis.com/thl-blog-production/2017/10/a5d6fc4b-banneri-320x110.jpg\" alt=\"ACORP\">" + @" <br><br>Здравствуйте уважаемый(ая) " + name + @" ! <br>Вы получили это письмо, потому что вы зарегистрированы в программе учета программного обеспечения и не помните пароль к своей учетной записи. <br>Высылаем Вам секретный код для активации вашего профиля. <br> <br>Код подтверждения: <b>" + kodpodt + @"</b> <br> <br>Мы рады, что вы выбрали именно наш программный продукт и желаем Вам приятого пользования!</body></html>"; mail.Body = htmlBody; SmtpServer.Port = 587; SmtpServer.Credentials = new System.Net.NetworkCredential("ychet.po", "Qq112233!"); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); Controls.Clear(); Label info = new Label(); info.AutoSize = false; info.Left = 40; info.Top = 100; info.Width = 400; info.Height = 50; info.Text = " На вашу почту было отправлено сообщение с кодом подтверждения"; info.Font = new Font(info.Font.FontFamily, 13); Controls.Add(info); kod.Left = 96; kod.Top = 185; kod.Width = 211; kod.Height = 30; kod.Font = new Font(kod.Font.FontFamily, 13); Controls.Add(kod); Button buttonsendkod = new Button(); buttonsendkod.Width = 171; buttonsendkod.Height = 30; buttonsendkod.Left = 116; buttonsendkod.Top = 240; buttonsendkod.Font = new Font(buttonsendkod.Font.FontFamily, 13); buttonsendkod.Text = "Отправить"; buttonsendkod.Click += this.buttonsendkod_Click; Controls.Add(buttonsendkod); exit.Width = 22; exit.Height = 22; exit.Left = 385; exit.Top = 13; exit.Font = new Font(exit.Font.FontFamily, 13); exit.Text = "X"; exit.Click += this.exit_Click; Controls.Add(exit); } catch { MessageBox.Show("Что-то пошло не так, предполагаемые действия:\n \n 1 Проверте правильность указанного email \n 2 Проверте подключение к интернету \n 3 Перезагрузите программу от имени администратора \n 4 Обратитесь к администратору", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly); } } catch { MessageBox.Show("Что-то пошло не так, предполагаемые действия:\n \n 1 Проверте правильность написанного вами логина \n 2 Проверте подключение к базе данных"); } } else { MessageBox.Show("Напишите пожалуйста ваш логин"); } }
private void metroLabel3_Click(object sender, EventArgs e) { if ((metroTextBox1.Text != "") && (metroTextBox2.Text != "") && (metroTextBox5.Text != "") && (metroTextBox6.Text != "") && (metroTextBox7.Text != "")) { try { //шифрование данных, вбитых ползователем для занесения в бд string F = Shifrovka(metroTextBox1.Text, "YchetPO"); string I = Shifrovka(metroTextBox2.Text, "YchetPO"); string O = Shifrovka(metroTextBox4.Text, "YchetPO"); string email = Shifrovka(metroTextBox7.Text, "YchetPO"); string login = Shifrovka(metroTextBox6.Text, "YchetPO"); string passw = Shifrovka(metroTextBox5.Text, "YchetPO"); //проверка на наличие такого же логина в бд SqlConnection con = BDconnect.GetBDConnection(); con.Open(); SqlCommand sc = new SqlCommand("Select * from polzv where[Логин] = '" + login + "'", con); //выбор данных из таблицы БД SqlDataReader dr; dr = sc.ExecuteReader(); int count = 0; while (dr.Read()) { count += 1; } dr.Close(); if (count == 1) { MessageBox.Show("Такой логин уже присутствует в системе, придумайте другой"); } else { //добавление нового пользователя SqlCommand registr = new SqlCommand("polz_add", con); registr.CommandType = CommandType.StoredProcedure; registr.Parameters.AddWithValue("@F_P", F); registr.Parameters.AddWithValue("@I_P", I); registr.Parameters.AddWithValue("@O_P", O); registr.Parameters.AddWithValue("@email", email); registr.Parameters.AddWithValue("@login", login); registr.Parameters.AddWithValue("@password", passw); if (admin == 1) { registr.Parameters.AddWithValue("@dostup", 1); } else { registr.Parameters.AddWithValue("@dostup", 0); } registr.ExecuteNonQuery(); SqlCommand Polz = new SqlCommand("select [id_polz] from polz where[login] = '" + login + "' ", con); string id = Polz.ExecuteScalar().ToString(); // при отсутствии администратора добавляются 3 основных роли в том числе и сам администратор if (admin == 1) { // добавление роли и должности пользователь SqlCommand rolep = new SqlCommand("role_add", con); rolep.Parameters.AddWithValue("@naim_role", "Пользователь"); rolep.Parameters.AddWithValue("@polz_role", 0); rolep.Parameters.AddWithValue("@zayavka_role", 1); rolep.Parameters.AddWithValue("@po_role", 1); rolep.Parameters.AddWithValue("@zakaz_role", 0); rolep.CommandType = CommandType.StoredProcedure; rolep.ExecuteNonQuery(); SqlCommand doljp = new SqlCommand("dolj_add", con); doljp.Parameters.AddWithValue("@naim_dolj", "Пользователь"); doljp.Parameters.AddWithValue("@role_id", 1); doljp.CommandType = CommandType.StoredProcedure; doljp.ExecuteNonQuery(); // добавление роли и должности администратор SqlCommand role = new SqlCommand("role_add", con); role.Parameters.AddWithValue("@naim_role", "Admin"); role.Parameters.AddWithValue("@polz_role", 1); role.Parameters.AddWithValue("@zayavka_role", 1); role.Parameters.AddWithValue("@po_role", 1); role.Parameters.AddWithValue("@zakaz_role", 1); role.CommandType = CommandType.StoredProcedure; role.ExecuteNonQuery(); SqlCommand dolj = new SqlCommand("dolj_add", con); dolj.Parameters.AddWithValue("@naim_dolj", "Администратор"); dolj.Parameters.AddWithValue("@role_id", 2); dolj.CommandType = CommandType.StoredProcedure; dolj.ExecuteNonQuery(); SqlCommand sovm = new SqlCommand("sovm_add", con); sovm.Parameters.AddWithValue("@polzsovm_id", id); sovm.Parameters.AddWithValue("@dolj_id", "2"); sovm.CommandType = CommandType.StoredProcedure; sovm.ExecuteNonQuery(); // добавление роли и должности сотрудник SqlCommand rolesotr = new SqlCommand("role_add", con); rolesotr.Parameters.AddWithValue("@naim_role", "Сотрудник"); rolesotr.Parameters.AddWithValue("@polz_role", 0); rolesotr.Parameters.AddWithValue("@zayavka_role", 1); rolesotr.Parameters.AddWithValue("@po_role", 1); rolesotr.Parameters.AddWithValue("@zakaz_role", 1); rolesotr.CommandType = CommandType.StoredProcedure; rolesotr.ExecuteNonQuery(); SqlCommand doljsotr = new SqlCommand("dolj_add", con); doljsotr.Parameters.AddWithValue("@naim_dolj", "Сотрудник"); doljsotr.Parameters.AddWithValue("@role_id", 3); doljsotr.CommandType = CommandType.StoredProcedure; doljsotr.ExecuteNonQuery(); } else { SqlCommand sovm = new SqlCommand("sovm_add", con); sovm.Parameters.AddWithValue("@polzsovm_id", id); sovm.Parameters.AddWithValue("@dolj_id", "1"); sovm.CommandType = CommandType.StoredProcedure; sovm.ExecuteNonQuery(); } con.Close(); MessageBox.Show("Вы успешно зарегистрировались"); Autoriz autoriz = new Autoriz(); autoriz.Show(); this.Close(); } } catch { MessageBox.Show("Отсутствует подключение к базе данных"); } } else { MessageBox.Show("Не все поля заполнены"); } }