// lưu vào CSDL
        private void btnOK_Click(object sender, EventArgs e)
        {
            if (txtFullname.Text == "" || txtUsername.Text == "")
            {
                MessageBox.Show("Please fill all the field");
                txtFullname.Focus();
                return;
            }

            bool gender = cbbGender.SelectedIndex == 1 ? false : true;
            bool f;

            if (isAddNewUSer)
            {
                string roleid = bdAM.getRoleid(cbbRolename.SelectedItem.ToString());
                f = bdAM.addUser(txtUsername.Text, txtFullname.Text, gender, dTPbirthday.Value, roleid);
                if (cbClass.Text.Trim() != "" && cbbRolename.SelectedIndex == 0)
                {
                    f = bdAM.addListClass(cbClass.Text, txtUsername.Text);
                }
                if (ListSubject != null && ListSubject.Count > 0 && cbbRolename.SelectedIndex == 1)
                {
                    foreach (String subid in ListSubject)
                    {
                        f = bdAM.insertTeacher(subid, txtUsername.Text);
                    }
                }
            }
            else
            {
                f = bdAM.updateUser(txtUsername.Text, txtFullname.Text, gender, dTPbirthday.Value);
                f = bdAM.ChangeRole(cbbRolename.Text.Trim().ToLower(), txtUsername.Text);
                if (cbClass.Text.Trim() != "" && cbbRolename.SelectedIndex == 0)
                {
                    f = bdAM.updateListClass(classid, txtUsername.Text);
                }
                if (ListSubject != null && ListSubject.Count > 0 && cbbRolename.SelectedIndex == 1)
                {
                    f = bdAM.deleteTeacher(txtUsername.Text);
                    foreach (String subid in ListSubject)
                    {
                        f = bdAM.updateTeacher(subid, txtUsername.Text);
                    }
                }
            }
            if (f)
            {
                MessageBox.Show("Successfully, please refresh this page");
            }
            else
            {
                if (bdAM.error.Contains("PRIMARY KEY"))
                {
                    MessageBox.Show("Username đã tồn tại hoặc không đúng định dạng, vui lòng kiểm tra lại\nError Message: " + bdAM.error);
                    txtUsername.Focus();
                }
                else
                {
                    MessageBox.Show("Error: " + bdAM.error);
                }
            }
            this.Close();
        }
        private void btnOK_Click(object sender, EventArgs e)
        {
            string rolename     = "";
            bool   isClassAdded = false;

            if (cbRole.SelectedIndex == -1)
            {
                MessageBox.Show("Vui lòng chọn quyền!", "QuizPro", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                cbRole.Focus();
                return;
            }


            switch (cbRole.SelectedIndex)
            {
            case 0:
                rolename = "student";
                break;

            case 1:
                rolename = "teacher";
                break;

            case 2:
                rolename = "admin";
                break;

            default:
                MessageBox.Show("Vui lòng chọn quyền");
                return;
            }

            if (rolename == "student")
            {
                if (txtClassName.Text == "" || !bdAdmin.addClass(txtClassName.Text, (int)numMember.Value))
                {
                    if (MessageBox.Show("Bạn chưa chọn lớp hoặc lớp đã bị trùng tên\n Bạn vẫn muốn thêm tất cả học sinh này?", "Thông báo", MessageBoxButtons.YesNo) == DialogResult.No)
                    {
                        return;
                    }
                }
                else
                {
                    isClassAdded = true;
                }
            }
            // đưa dữ liệu vào datagridview
            string listUserAdded             = "";
            string listUserNotAdded          = "";
            string listUserNotAddedIntoClass = "";

            for (int i = 0; i < dgvUser.Rows.Count; i++)
            {
                try
                {
                    string username  = dgvUser.Rows[i].Cells[0].Value.ToString();
                    string fullname  = dgvUser.Rows[i].Cells[1].Value.ToString();
                    string strGender = dgvUser.Rows[i].Cells[2].Value.ToString();
                    bool   gender;
                    if ((strGender = strGender.ToLower()) == "nam" || strGender == "nữ")
                    {
                        gender = strGender == "nam" ? true : false;
                    }
                    else
                    {
                        MessageBox.Show("Giới tính của user " + username + " không đúng định dạng!");
                        return;
                    }
                    int    _day, _month, _year;
                    string strBirthDay = dgvUser.Rows[i].Cells[3].Value.ToString();
                    try
                    {
                        _day   = int.Parse(strBirthDay.Substring(0, 2));
                        _month = int.Parse(strBirthDay.Substring(3, 2));
                        _year  = int.Parse(strBirthDay.Substring(6, 4));
                    }
                    catch (Exception exc)
                    {
                        MessageBox.Show("Ngày sinh không đúng định dạng\nError: " + exc.Message);
                        return;
                    }
                    DateTime birthday = new DateTime(_year, _month, _day);

                    string roleID = bdAdmin.getRoleid(rolename);
                    try
                    {
                        if (bdAdmin.addUser(username, fullname, gender, birthday, roleID))
                        {
                            string pwd = strBirthDay.Substring(0, 2) + strBirthDay.Substring(3, 2) + strBirthDay.Substring(6, 4);
                            bdAdmin.changePwd(username, pwd);
                            listUserAdded += "\n" + username;
                            if (rolename == "student" && isClassAdded)
                            {
                                if (!bdAdmin.addListClass(txtClassName.Text, username))
                                {
                                    listUserNotAddedIntoClass += "\n" + username;
                                }
                            }
                        }
                        else
                        {
                            if (bdAdmin.error.Contains("PRIMARY KEY") && bdAdmin.error.Contains("duplicate"))
                            {
                                listUserNotAdded += "\n" + username;
                            }
                        }
                    }
                    catch
                    {
                        MessageBox.Show("Lỗi khi thêm user " + username + "\nError: " + bdAdmin.error);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Vui lòng kiểm tra lại thông tin user " + dgvUser.Rows[i].Cells[0].Value.ToString() + "\nError: " + ex.Message);
                    return;
                }
            }
            if (listUserNotAdded != "")
            {
                MessageBox.Show("Danh sách user đã tồn tại: " + listUserNotAdded);
            }
            MessageBox.Show(listUserAdded == "" ? "Không có user nào được thêm!": "Danh sách user đã thêm: " + listUserAdded);
            if (listUserNotAddedIntoClass != "")
            {
                MessageBox.Show("Danh sách user chưa được thêm vào lớp: " + listUserNotAddedIntoClass);
            }
        }