private void button3_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(textBox2.Text)) { MessageBox.Show(@"Новому пользователю должен быть присвоен логин!", @"Ошибка", MessageBoxButtons.OK); return; } if (string.IsNullOrEmpty(textBox3.Text)) { MessageBox.Show(@"Новому пользователю должен быть присвоен пароль!", @"Ошибка", MessageBoxButtons.OK); return; } if (comboBox1.SelectedIndex == -1) { MessageBox.Show(@"Новый пользователь должен быть отнесен в группу!", @"Ошибка", MessageBoxButtons.OK); return; } foreach (var user in _dataBaseUsers) { if (textBox2.Text != user.UserLogin) { continue; } MessageBox.Show( string.Format( "Пользователь с таким логином уже существует: {0}. Обратитесь к администратору!", user.UserLogin), @"Ошибка", MessageBoxButtons.OK); return; } if (MessageBox.Show( string.Format( "Следующий пользователь будет добавлен: \r Логин: {0} \r Пароль: {1} \r Группа: {2}", textBox2.Text, textBox3.Text, comboBox1.SelectedItem), @"Подтверждение", MessageBoxButtons.YesNo) != DialogResult.Yes) { return; } using ( var conn = new SqlConnection( string.Format( "Data Source={0};Persist Security Info=True;User ID={1};Password={2};Initial Catalog=DocumentMainContent", DbServer, DbUser, DbPass))) { try { var newUserLogin = textBox2.Text; var newUserPassword = textBox3.Text; var newUserGroup = comboBox1.SelectedItem as UserGroup; WorkerT newUserWorker = null; if (comboBox2.SelectedIndex != -1) { newUserWorker = comboBox2.SelectedItem as WorkerT; } var newUser = newUserWorker != null ? new User(0, newUserLogin, newUserPassword, newUserGroup.GroupId, newUserWorker.WorkerId) : new User(0, newUserLogin, newUserPassword, newUserGroup.GroupId, null); conn.Open(); var sqlCommand = new SqlCommand( "Insert into Users (UserLogin,UserPassword,UserGroup,UserWorker) values (@0,@1,@2,@3)", conn); sqlCommand.Parameters.Add(new SqlParameter("0", newUserLogin)); sqlCommand.Parameters.Add(new SqlParameter("1", newUserPassword)); sqlCommand.Parameters.Add(new SqlParameter("2", newUserGroup.GroupId)); sqlCommand.Parameters.Add(new SqlParameter("3", newUser.UserWorker)); sqlCommand.ExecuteNonQuery(); sqlCommand = new SqlCommand("SELECT * FROM Users Where convert(varchar, UserLogin)='" + newUserLogin + "'", conn); using (var reader = sqlCommand.ExecuteReader()) while (reader.Read()) { newUser.UserId = Convert.ToInt32(reader["UserID"]); } listBox1.Items.Add(newUser); _dataBaseUsers.Add(newUser); textBox2.Text = ""; textBox3.Text = ""; comboBox1.SelectedIndex = -1; comboBox2.SelectedIndex = -1; MessageBox.Show(string.Format("Пользователь {0} успешно добавлен!", newUser.UserLogin), @"Успешно", MessageBoxButtons.OK); } catch (SqlException er) { MessageBox.Show( string.Format( "Во время добавлени произошла ошибка базы данных: {0}. Обратитесь к администратору!", er.Message), @"Ошибка", MessageBoxButtons.OK); } } }
private void button4_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(textBox2.Text)) { MessageBox.Show(@"Пользователю должен быть присвоен логин!", @"Ошибка", MessageBoxButtons.OK); return; } if (string.IsNullOrEmpty(textBox3.Text)) { MessageBox.Show(@"Пользователю должен быть присвоен пароль!", @"Ошибка", MessageBoxButtons.OK); return; } if (comboBox1.SelectedIndex == -1) { MessageBox.Show(@"Пользователь должен быть отнесен в группу!", @"Ошибка", MessageBoxButtons.OK); return; } var selectedUser = listBox1.SelectedItem as User; if (textBox2.Text != selectedUser.UserLogin) { foreach (var user in _dataBaseUsers) { if (textBox2.Text != user.UserLogin) { continue; } MessageBox.Show( string.Format( "Пользователь с таким логином уже существует: {0}. Обратитесь к администратору!", user.UserLogin), @"Ошибка", MessageBoxButtons.OK); return; } } if (MessageBox.Show( string.Format( "Изменить данные пользователя {0}", textBox2.Text), @"Подтверждение", MessageBoxButtons.YesNo) != DialogResult.Yes) { return; } using ( var conn = new SqlConnection( string.Format( "Data Source={0};Persist Security Info=True;User ID={1};Password={2};Initial Catalog=DocumentMainContent", DbServer, DbUser, DbPass))) { try { var editUserLogin = textBox2.Text; var editUserPassword = textBox3.Text; var editUserGroup = comboBox1.SelectedItem as UserGroup; WorkerT editUserWorker = null; if (comboBox2.SelectedIndex != -1) { editUserWorker = comboBox2.SelectedItem as WorkerT; } var editUser = selectedUser; editUser.UserLogin = editUserLogin; editUser.UserPassword = editUserPassword; editUser.UserGroup = editUserGroup.GroupId; if (editUserWorker != null) { editUser.UserWorker = editUserWorker.WorkerId; } conn.Open(); var sqlCommand = new SqlCommand( "Update Users Set UserLogin = @0, UserPassword = @1, UserGroup = @2, UserWorker = @3 Where UserID = @4", conn); sqlCommand.Parameters.Add(new SqlParameter("0", editUser.UserLogin)); sqlCommand.Parameters.Add(new SqlParameter("1", editUser.UserPassword)); sqlCommand.Parameters.Add(new SqlParameter("2", editUser.UserGroup)); sqlCommand.Parameters.Add(editUserWorker != null ? new SqlParameter("3", editUser.UserWorker) : new SqlParameter("3", null)); sqlCommand.Parameters.Add(new SqlParameter("4", editUser.UserId)); sqlCommand.ExecuteNonQuery(); listBox1.Items.Remove(selectedUser); listBox1.Items.Add(editUser); _dataBaseUsers.Remove(selectedUser); _dataBaseUsers.Add(editUser); textBox2.Text = ""; textBox3.Text = ""; comboBox1.SelectedIndex = -1; comboBox2.SelectedIndex = -1; MessageBox.Show(string.Format("Пользователь {0} успешно изменен!", editUser.UserLogin), @"Успешно", MessageBoxButtons.OK); } catch (SqlException er) { MessageBox.Show( string.Format( "Во время изменения произошла ошибка базы данных: {0}. Обратитесь к администратору!", er.Message), @"Ошибка", MessageBoxButtons.OK); } } }
private void button1_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(textBox2.Text)) { MessageBox.Show(@"Должно быть задано имя работника!", @"Ошибка", MessageBoxButtons.OK); return; } if (_wokerFioList.Contains(textBox2.Text)) { MessageBox.Show(@"Такие ФИО работника уже существуют!", @"Ошибка", MessageBoxButtons.OK); return; } if (string.IsNullOrEmpty(textBox3.Text)) { MessageBox.Show(@"Должен быть задан телефон работника!", @"Ошибка", MessageBoxButtons.OK); return; } if (string.IsNullOrEmpty(textBox5.Text)) { MessageBox.Show(@"Должна быть задана электронная почта работника!", @"Ошибка", MessageBoxButtons.OK); return; } if (comboBox1.SelectedIndex == -1) { MessageBox.Show(@"Должна быть задана должность работника!", @"Ошибка", MessageBoxButtons.OK); return; } if (MessageBox.Show( string.Format( "Следующий работник будет добавлен: \r Имя: {0} \r Телефон: {1} \r Электронная почта: {2} \r Должность: {3} ", textBox2.Text, textBox3.Text, textBox5.Text, (comboBox1.SelectedItem as Post).PostTitle), @"Подтверждение", MessageBoxButtons.YesNo) != DialogResult.Yes) { return; } using ( var conn = new SqlConnection( string.Format( "Data Source={0};Persist Security Info=True;User ID={1};Password={2};Initial Catalog=DocumentMainContent", DbServer, DbUser, DbPass))) { try { conn.Open(); var newName = textBox2.Text; var newPhone = textBox3.Text; var newMail = textBox5.Text; var newPost = (comboBox1.SelectedItem as Post).PostId; var newWorker = new WorkerT(0, newName, newPhone, newMail, newPost); var sqlCommand = new SqlCommand( "Insert into Workers (WorkerFIO, WorkerPhone, WorkerMail, WorkerPost) values (@0,@1,@2,@3)", conn); sqlCommand.Parameters.Add(new SqlParameter("0", newName)); sqlCommand.Parameters.Add(new SqlParameter("1", newPhone)); sqlCommand.Parameters.Add(new SqlParameter("2", newMail)); sqlCommand.Parameters.Add(new SqlParameter("3", newPost)); sqlCommand.ExecuteNonQuery(); sqlCommand = new SqlCommand( "SELECT * FROM Workers Where WorkerFIO='" + newName + "' and WorkerPhone='" + newPhone + "'", conn); using (var reader = sqlCommand.ExecuteReader()) while (reader.Read()) { newWorker.WorkerId = Convert.ToInt32(reader["WorkerId"]); } listBox1.Items.Add(newWorker); _dataBaseWorkers.Add(newWorker); textBox1.Text = ""; textBox2.Text = ""; textBox3.Text = ""; textBox5.Text = ""; comboBox1.SelectedIndex = -1; MessageBox.Show(string.Format("Работник {0} успешно добавлен!", newWorker.WorkerFio), @"Успешно", MessageBoxButtons.OK); } catch (SqlException er) { MessageBox.Show( string.Format( "Во время добавления произошла ошибка базы данных: {0}. Обратитесь к администратору!", er.Message), @"Ошибка", MessageBoxButtons.OK); } } }