123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- 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;
- using System.Data.SqlClient;
- namespace hospital
- {
- public partial class registrationForm : Form
- {
- SqlConnection sqlConnection = null;
- SqlCommand a = null;
- public registrationForm()
- {
- InitializeComponent();
- }
- private void registrationForm_Load(object sender, EventArgs e)
- {
- FormCreating.openConnection(ref sqlConnection);
- SqlCommand a = new SqlCommand($"select name_gender from gender", sqlConnection);
- SqlDataReader reader = a.ExecuteReader();
- while (reader.Read())
- {
- genderCB.Items.Add(reader.GetString(0));
- }
- reader.Close();
- }
- private void registrationBTN_Click(object sender, EventArgs e)
- {
- try
- {
- bool checkTB = false, checkMTB = false;
- foreach (TextBox textBox in this.Controls.OfType<TextBox>())
- {
- if (String.IsNullOrEmpty(textBox.Text))
- {
- checkTB = true;
- break;
- }
- }
- foreach (MaskedTextBox maskedTextBox in this.Controls.OfType<MaskedTextBox>())
- {
- if (!maskedTextBox.MaskCompleted)
- {
- checkMTB = true;
- break;
- }
- }
- if(passwordTB.Text.Length < 5)
- {
- MessageBox.Show("Пароль слишком короткий! Он должен содержать минимум 5 символов", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- else
- {
- if(passwordTB.Text.Contains(" ") || loginTB.Text.Contains(" "))
- {
- MessageBox.Show("В пароле или логине присутствуют пробелы", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
- }
- else
- {
- if (!checkTB && !checkMTB)
- {
- a = new SqlCommand($"select count(*) from employees where login like '{loginTB.Text.GetHashCode()}'", sqlConnection);
- if (!a.ExecuteScalar().ToString().Equals("1"))
- {
- a = new SqlCommand($"select id_gender from gender where name_gender like N'{genderCB.SelectedItem}'", sqlConnection);
- string id_gender = a.ExecuteScalar().ToString();
- a = new SqlCommand($"insert into employees (surname_employee, name_employee, midname_employee, Date_Birthday_Employee, Telephone_Employee, Passport_Number_Employee, Passport_Date_Employee, Passport_Place_Employee, Passport_Code_Employee, [login], [password], id_gender) values (@surname_employee, @name_employee, @midname_employee, @Date_Birthday_Employee, @Telephone_Employee, @Passport_Number_Employee, @Passport_Date_Employee, @Passport_Place_Employee, @Passport_Code_Employee, @login, @password, @id_gender)", sqlConnection);
- DateTime date1 = DateTime.Parse(birthDateDTP.Text);
- DateTime date2 = DateTime.Parse(issueDateDTP.Text);
- a.Parameters.AddWithValue("surname_employee", surnameTB.Text);
- a.Parameters.AddWithValue("name_employee", nameTB.Text);
- a.Parameters.AddWithValue("midname_employee", midnameTB.Text);
- a.Parameters.AddWithValue("Date_Birthday_Employee", $"{date1.Day}/{date1.Month}/{date1.Year}");
- a.Parameters.AddWithValue("Telephone_Employee", telephoneMTB.Text);
- a.Parameters.AddWithValue("Passport_Number_Employee", seriesMTB.Text);
- a.Parameters.AddWithValue("Passport_Date_Employee", $"{date2.Day}/{date2.Month}/{date2.Year}");
- a.Parameters.AddWithValue("Passport_Place_Employee", issuedByTB.Text);
- a.Parameters.AddWithValue("Passport_Code_Employee", divisionCodeMTB.Text);
- a.Parameters.AddWithValue("login", loginTB.Text.GetHashCode());
- a.Parameters.AddWithValue("password", passwordTB.Text.GetHashCode());
- a.Parameters.AddWithValue("id_gender", id_gender);
- Array.Resize(ref auth.data, 12);
- auth.data[0] = $"Фамилия: {surnameTB.Text}";
- auth.data[1] = $"Имя: {nameTB.Text}";
- auth.data[2] = $"Отчество: {midnameTB.Text}";
- auth.data[3] = $"Дата рождения: {date1.Day}/{date1.Month}/{date1.Year}";
- auth.data[4] = $"Телефон: {telephoneMTB.Text}";
- auth.data[5] = $"Серия и номер паспорта: {seriesMTB.Text}";
- auth.data[6] = $"Дата выдачи паспорта: {date2.Day}/{date2.Month}/{date2.Year}";
- auth.data[7] = $"Кем выдан: {issuedByTB.Text}";
- auth.data[8] = $"Код подразделения: {divisionCodeMTB.Text}";
- auth.data[9] = $"Логин: {loginTB.Text}";
- auth.data[10] = $"Пароль: {passwordTB.Text}";
- auth.data[11] = $"Пол: {genderCB.SelectedItem}";
- if (a.ExecuteNonQuery() == 1)
- {
- MessageBox.Show("Регистрация прошла успешно!", "Уведомление", MessageBoxButtons.OK, MessageBoxIcon.Information);
- debugAndTrace.writeInFile("Регистрация", auth.data);
- debugAndTrace.writeInFile("Переход на форму авторизации");
- this.Close();
- }
- else
- {
- MessageBox.Show("Произошла ошибка", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
- debugAndTrace.writeInFile("Ошибка рагистрации", auth.data);
- }
- }
- else
- {
- MessageBox.Show("Такой пользователь уже зарегистрирован", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
- debugAndTrace.writeInFile("Error, такой пользователь уже зарегистрирован", auth.data);
- }
- }
- else
- {
- MessageBox.Show("Заполнены не все поля", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
- debugAndTrace.writeInFile("Error, заполнены не все поля");
- }
- }
- }
- }
- catch
- {
- MessageBox.Show("Произошла непредвиденная ошибка", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
- debugAndTrace.writeInFile("ERROR");
- }
- }
- private void backBTN_Click(object sender, EventArgs e)
- {
- var res = MessageBox.Show("Уверены, что хотите отменить регистрацию?", "Предупреждение", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
- if(res == DialogResult.Yes)
- {
- debugAndTrace.writeInFile("Отмена регистрации");
- this.Close();
- }
- else
- {
- MessageBox.Show("Действие отменено", "Уведомление", MessageBoxButtons.OK, MessageBoxIcon.Information);
- }
- }
- private void label6_Click(object sender, EventArgs e)
- {
- }
- private void issuedByTB_TextChanged(object sender, EventArgs e)
- {
- }
- }
- }
|