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);
                }
            }
        }
Esempio n. 3
0
        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);
                }
            }
        }