Пример #1
0
        private void frm_PhanQuyen_Load(object sender, EventArgs e)
        {
            // load danh sách chức năng trước tất cả các chức năng mà tài khoản này được phép thao tác
            List <cChucNang> lstChucnang = XL2.TaoChucNang();

            checkQuyenThaotac.ValueMember   = "ID";
            checkQuyenThaotac.DataSource    = lstChucnang;
            checkQuyenThaotac.DisplayMember = "MoTa";
            checkQuyenThaotac.Refresh();

            // load tree view danh sách phòng ban mà tài khoản đang login được phép thao tác, nếu tài khoản login là root thì load hết danh sách phòng ban
            List <cPhongBan> dsphongThaotac = new List <cPhongBan>();

            if (XL2.currUserID != int.MaxValue)
            {
                XL.KhoiTaoDSPhongBan(dsphongThaotac, XL2.currUserID);
            }
            else
            {
                XL.KhoiTaoDSPhongBan(dsphongThaotac);
            }

            XL.loadTreePhgBan(treePhongBan, XL2.TatcaPhongban, dsphongThaotac);             // sau khi load xong sẽ có được list dspb1 chứa ds id các phòng ban mà currID hiện tại được phép thao tác
            // việc check các item quyền sẽ để cho sự kiện chọn tài khoản  thực hiện

            // load tất cả danh sách tài khoản trừ tài khoản đang login
            lstTaikhoan.DisplayMember = "UserAccount";
            if (XL2.currUserID != int.MaxValue)
            {
                lstTaikhoan.DataSource = LayDSTaikhoan(XL2.currUserID);
            }
            else
            {
                lstTaikhoan.DataSource = LayDSTatCaTaikhoan();
            }

            #region             // trường hợp đặc biệt ko có tài khoản nào
            if (lstTaikhoan.Items.Count == 0)
            {
                ACMessageBox.Show("Không có tài khoản để phân quyền.", "Thông báo", 2000);
                this.Close();
            }
            #endregion

            // chọn mặc định tài khoản đầu tiên, lúc này phát sự kiện index change sẽ check các item quyền
            // chọn tài khoản đồng thời sẽ check , uncheck các phòng ban được thao tác
            // đồng thời check , uncheck các chức năng được tài khoản được chọn được phép thao tác
            lstTaikhoan.SelectedIndex = 0;
        }
Пример #2
0
        private void btnTaoTK_Click(object sender, EventArgs e)
        {
            if (XL2.KiemtraKetnoiCSDL() == false)
            {
                return;
            }

            if (tbPass1.Text != tbPass2.Text)
            {
                MessageBox.Show("Mật khẩu không khớp.");
                return;
            }
            if (tbPass1.Text == string.Empty || tbPass2.Text == string.Empty)
            {
                MessageBox.Show("Mật khẩu không được để trống.");
                return;
            }

            string insertString = @" insert into NewUserAccount(UserID, UserAccount, Password) values (@UserID, @UserAccount, @password) ";

            // xem các chức năng để tạo mặc định
            List <cChucNang> listChucNang   = XL2.TaoChucNang();
            string           templateString = " insert into MenuPrivilege (UserID, MenuID, IsYes) values (@UserID, {0}, 0) ";
            string           chuoi          = string.Empty;

            for (int i = 0; i < listChucNang.Count; i++)
            {
                chuoi         = string.Format(templateString, listChucNang[i].ID);
                insertString += chuoi;
            }
            int tempUserID = (int)cbTaikhoanWE.SelectedValue;

            string tempUserAccount = tbTenTaiKhoan.Text;
            string tempPass        = tbPass1.Text;
            string tempPassEncrypt = MyUtility.Mahoa(tempPass);

            try {
                #region

                /* insertString = @" insert into NewUserAccount(UserID, UserAccount, Password) values (@UserID, @UserAccount, @password)
                 *                                      insert into MenuPrivilege (UserID, MenuID, IsYes) values (@UserID, 10001, 0)
                 *                                      insert into MenuPrivilege (UserID, MenuID, IsYes) values (@UserID, 10002, 0)
                 *                                      insert into MenuPrivilege (UserID, MenuID, IsYes) values (@UserID, 20001, 0)
                 *                                      insert into MenuPrivilege (UserID, MenuID, IsYes) values (@UserID, 20002, 0)
                 *                                      insert into MenuPrivilege (UserID, MenuID, IsYes) values (@UserID, 20003, 0)
                 *                                      insert into MenuPrivilege (UserID, MenuID, IsYes) values (@UserID, 30001, 0)
                 *                                      insert into MenuPrivilege (UserID, MenuID, IsYes) values (@UserID, 30002, 0)
                 *                                      insert into MenuPrivilege (UserID, MenuID, IsYes) values (@UserID, 40001, 0)
                 *                                      insert into MenuPrivilege (UserID, MenuID, IsYes) values (@UserID, 40002, 0)
                 *                                      insert into MenuPrivilege (UserID, MenuID, IsYes) values (@UserID, 60001, 0) "
                 */

                #endregion

                int kq = SqlDataAccessHelper.ExecNoneQueryString(insertString
                                                                 , new[] { "@UserID", "@UserAccount", "@password" }
                                                                 , new object[] { tempUserID, tempUserAccount, tempPassEncrypt }, CanLog: false);
                if (kq != 0)
                {
                    ACMessageBox.Show("Thêm tài khoản thành công.", "Thông báo", 2000);
                }
                else
                {
                    MessageBox.Show("Không thêm được tài khoản.", "Lỗi", MessageBoxButtons.OK);
                }
                Load_dataGridNewUserAccount();
                Load_cbTaikhoanWE();
            } catch (Exception exception) {
                lg.Error(string.Format("[{0}]_[{1}]\n", this.Name, System.Reflection.MethodBase.GetCurrentMethod().Name), exception);
                MessageBox.Show("Mất kết nối đến máy chủ. Vui lòng thử lại.", "Lỗi", MessageBoxButtons.OK);
            }
        }