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; }
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); } }