Example #1
0
        private void checkQuyenThaotac_ItemCheck(object sender, ItemCheckEventArgs e)
        {
            cChucNang item = checkQuyenThaotac.Items[e.Index] as cChucNang;

            if (e.NewValue == CheckState.Checked)
            {
                item.IsYes = true;
            }
            else if (e.NewValue == CheckState.Unchecked)
            {
                item.IsYes = false;
            }
        }
Example #2
0
        private void SetQuyenThaotac(DataTable tableChucnang)
        {
            // lấy dataSource danh sách chức năng, set default false nếu ko có row nào
            if (tableChucnang == null || tableChucnang.Rows.Count == 0)
            {
                for (int i = 0; i < checkQuyenThaotac.Items.Count; i++)
                {
                    cChucNang chucnang = checkQuyenThaotac.Items[i] as cChucNang;
                    if (chucnang == null)
                    {
                        continue;
                    }
                    checkQuyenThaotac.SetItemCheckState(i, CheckState.Unchecked);
                    chucnang.IsYes = false;
                }
            }
            else              // tồn tại chức năng
                              //duyệt từng chức năng trong danh sách chức năng, kiểm tra xem chức năng đó có trong csdl table ko? nếu có thì check, ko thì uncheck
            {
                for (int i = 0; i < checkQuyenThaotac.Items.Count; i++)
                {
                    cChucNang chucnang = checkQuyenThaotac.Items[i] as cChucNang;
                    if (chucnang == null)
                    {
                        continue;
                    }
                    int       id      = chucnang.ID;
                    DataRow[] arrRows = tableChucnang.Select("MenuID = " + id, "MenuID asc"); // tìm trong table chức năng đó bật hay tắt,
                    if (arrRows.Length == 0)                                                  // ko tồn tại phân quyền --> uncheck
                    {
                        checkQuyenThaotac.SetItemCheckState(i, CheckState.Unchecked);
                        chucnang.IsYes = false;
                    }
                    else                      // tồn tại phân quyền -->? kiểm tra xem nó có  enable ko
                    {
                        bool isYes = (bool)arrRows[0]["IsYes"];
                        checkQuyenThaotac.SetItemCheckState(i, (isYes) ? CheckState.Checked : CheckState.Unchecked);
                        chucnang.IsYes = isYes;
                    }
                }
            }

            checkQuyenThaotac.Update();
        }
        private void UpdateQuyenThaotac(DataTable tableChucnang)
        {
            // lấy dataSource danh sách chức năng, set default false nếu ko có row nào
            if (tableChucnang == null || tableChucnang.Rows.Count == 0)
            {
                for (int i = 0; i < checkQuyenThaotac.Items.Count; i++)
                {
                    cChucNang chucnang = checkQuyenThaotac.Items[i] as cChucNang;
                    if (chucnang == null)
                    {
                        continue;
                    }
                    checkQuyenThaotac.SetItemCheckState(i, CheckState.Unchecked);
                    chucnang.IsYes = false;
                }
            }
            else              // tồn tại chức năng
            {
                for (int i = 0; i < checkQuyenThaotac.Items.Count; i++)
                {
                    //checkQuyenThaotac.g  checkQuyenThaotac.GetItemCheckState(i);
                    cChucNang chucnang = checkQuyenThaotac.Items[i] as cChucNang;
                    if (chucnang == null)
                    {
                        continue;
                    }
                    int       id      = chucnang.ID;
                    DataRow[] arrRows = tableChucnang.Select("MenuID = " + id, "MenuID asc");                    // tìm trong table chức năng đó bật hay tắt,
                    if (arrRows.Length == 0)
                    {
                        checkQuyenThaotac.SetItemCheckState(i, CheckState.Unchecked);
                        chucnang.IsYes = false;
                    }
                    else
                    {
                        bool temp = (bool)arrRows[0]["IsYes"];
                        checkQuyenThaotac.SetItemCheckState(i, (temp == true) ? CheckState.Checked : CheckState.Unchecked);
                        chucnang.IsYes = temp;
                    }
                }
            }

            checkQuyenThaotac.Update();
        }
Example #4
0
        private void button1_Click(object sender, EventArgs e)
        {
            log4net.ILog a = LogManager.GetLogger("");
            // lấy ID tài khoản đang chọn
            DataRowView rowView = lstTaikhoan.SelectedItem as DataRowView;
            int         userid  = (int)rowView["UserID"];
            // update phòng ban thao tác
            List <int> id     = new List <int>();
            List <int> status = new List <int>();

            DuyetLayID_Status(treePhongban.TopNode, id, status);

            for (int i = 0; i < id.Count; i++)
            {
                int n = SqlDataAccessHelper.ExecNoneQueryString(
                    " update DeptPrivilege set IsYes = @IsYes where IDD = @IDD and UserID = @UserID" +
                    " IF @@ROWCOUNT=0 INSERT INTO DeptPrivilege (UserID,IDD,IsYes) VALUES (@UserID,@IDD,@IsYes) "
                    , new string[] { "@UserID", "@IsYes", "@IDD" }
                    , new object[] { userid, status[i], id[i] });
                Debug.WriteLine(n);
            }

            List <cChucNang> lstchucnang = checkQuyenThaotac.DataSource as List <cChucNang>;

            for (int i = 0; i < checkQuyenThaotac.Items.Count; i++)
            {
                cChucNang item   = checkQuyenThaotac.Items[i] as cChucNang;
                bool      check  = item.IsYes;
                int       menuid = item.ID;
                int       n      = SqlDataAccessHelper.ExecNoneQueryString(
                    " update MenuPrivilege set IsYes = @IsYes where UserID = @UserID and MenuID = @MenuID " +
                    " IF @@ROWCOUNT=0 INSERT INTO MenuPrivilege (UserID,MenuID,IsYes) VALUES (@UserID,@MenuID,@IsYes) "
                    , new string[] { "@UserID", "@IsYes", "@MenuID" }
                    , new object[] { userid, check, menuid });
                Debug.WriteLine(n);
            }

            lstTaikhoan_SelectedValueChanged(lstTaikhoan, null);
        }
Example #5
0
        private void btnCapNhat_Click(object sender, EventArgs e)
        {
            if (XL2.KiemtraKetnoiCSDL() == false)
            {
                return;
            }

            // lấy ID tài khoản đang chọn
            DataRowView rowView = lstTaikhoan.SelectedItem as DataRowView;
            int         userid  = (int)rowView["UserID"];

            // update phòng ban thao tác và status cho phép hay ko
            #region lấy ds phòng ban 1. được thao tác, 2.check kết công
            List <cPhongBan> dsphongbanChecked = new List <cPhongBan>();
            List <cPhongBan> dsphongbanUnCheck = new List <cPhongBan>();
            // đưa về root node trước khi thực hiện
            var root = treePhongBan.TopNode;
            GetTopLevelNode(ref root);            // mỗi lần duyệt node sẽ làm root node chuyển về parent của node cuối nên phải trả về node gốc để duyệt từ đầu
            while (root.PrevNode != null)
            {
                root = root.PrevNode;
            }
            GetNode_DuocThaotac_CheckKetcong(root, dsphongbanChecked, dsphongbanUnCheck);
            #endregion


            // duyệt qua từng phòng ban và update lại phòng ban đó được cho phép hay ko
            for (int i = 0; i < dsphongbanChecked.Count; i++)
            {
                SqlDataAccessHelper.ExecNoneQueryString(
                    @" update DeptPrivilege set IsYes = @IsYes where IDD = @IDD and UserID = @UserID
						IF @@ROWCOUNT=0 INSERT INTO DeptPrivilege (UserID,IDD,IsYes) VALUES (@UserID,@IDD,@IsYes) "
                    , new string[] { "@UserID", "@IsYes", "@IDD" }
                    , new object[] { userid, 1, dsphongbanChecked[i].ID });
            }
            for (int i = 0; i < dsphongbanUnCheck.Count; i++)
            {
                SqlDataAccessHelper.ExecNoneQueryString(
                    @" update DeptPrivilege set IsYes = @IsYes where IDD = @IDD and UserID = @UserID
						IF @@ROWCOUNT=0 INSERT INTO DeptPrivilege (UserID,IDD,IsYes) VALUES (@UserID,@IDD,@IsYes) "
                    , new string[] { "@UserID", "@IsYes", "@IDD" }
                    , new object[] { userid, 0, dsphongbanUnCheck[i].ID });
            }

            //duyệt từng chức năng và update lại cho phép hay ko cho phép chức năng đó
            List <cChucNang> lstchucnang = checkQuyenThaotac.DataSource as List <cChucNang>;
            for (int i = 0; i < checkQuyenThaotac.Items.Count; i++)
            {
                cChucNang item   = checkQuyenThaotac.Items[i] as cChucNang;
                bool      check  = item.IsYes;
                int       menuid = item.ID;
                SqlDataAccessHelper.ExecNoneQueryString(
                    @" update MenuPrivilege set IsYes = @IsYes where UserID = @UserID and MenuID = @MenuID
						IF @@ROWCOUNT=0 INSERT INTO MenuPrivilege (UserID,MenuID,IsYes) VALUES (@UserID,@MenuID,@IsYes) "
                    , new string[] { "@UserID", "@IsYes", "@MenuID" }
                    , new object[] { userid, check, menuid });
            }

            ACMessageBox.Show("Cập nhật phân quyền thành công.", "Thông báo", 2000);

point1:
            lstTaikhoan_SelectedValueChanged(lstTaikhoan, null);
        }
        private void btnCapNhat_Click(object sender, EventArgs e)
        {
            // lấy ID tài khoản đang chọn
            DataRowView rowView = lstTaikhoan.SelectedItem as DataRowView;
            int         userid  = (int)rowView["UserID"];
            // update phòng ban thao tác và status cho phép hay ko
            List <int> id     = new List <int>();
            List <int> status = new List <int>();

            DuyetLayID_Status(treePhongban.TopNode, id, status);

            bool flag = false;
            int  n;

            // duyệt qua từng phòng ban và update lại phòng ban đó được cho phép hay ko
            for (int i = 0; i < id.Count; i++)
            {
                n = SqlDataAccessHelper.ExecNoneQueryString(
                    " update DeptPrivilege set IsYes = @IsYes where IDD = @IDD and UserID = @UserID" +
                    " IF @@ROWCOUNT=0 INSERT INTO DeptPrivilege (UserID,IDD,IsYes) VALUES (@UserID,@IDD,@IsYes) "
                    , new string[] { "@UserID", "@IsYes", "@IDD" }
                    , new object[] { userid, status[i], id[i] });
                if (n == 0)   // nếu xảy ra lỗi thì thoát khỏi vòng lặp
                {
                    flag = true;
                    break;
                }
            }
            if (flag)
            {
                MessageBox.Show("Xảy ra lỗi trong quá trình thực hiện. Vui lòng thử lại.", "Lỗi");
                goto point1;
            }

            //duyệt từng chức năng và update lại cho phép hay ko cho phép chức năng đó
            List <cChucNang> lstchucnang = checkQuyenThaotac.DataSource as List <cChucNang>;

            for (int i = 0; i < checkQuyenThaotac.Items.Count; i++)
            {
                cChucNang item   = checkQuyenThaotac.Items[i] as cChucNang;
                bool      check  = item.IsYes;
                int       menuid = item.ID;
                n = SqlDataAccessHelper.ExecNoneQueryString(
                    " update MenuPrivilege set IsYes = @IsYes where UserID = @UserID and MenuID = @MenuID " +
                    " IF @@ROWCOUNT=0 INSERT INTO MenuPrivilege (UserID,MenuID,IsYes) VALUES (@UserID,@MenuID,@IsYes) "
                    , new string[] { "@UserID", "@IsYes", "@MenuID" }
                    , new object[] { userid, check, menuid });
                if (n == 0)   // nếu xảy ra lỗi thì thoát khỏi vòng lặp
                {
                    flag = true;
                    break;
                }
            }
            if (flag)
            {
                MessageBox.Show("Xảy ra lỗi trong quá trình thực hiện. Vui lòng thử lại.", "Lỗi");
                goto point1;
            }

            AutoClosingMessageBox.Show("Cập nhật phân quyền thành công.", "Thông báo", 2000);

point1:
            lstTaikhoan_SelectedValueChanged(lstTaikhoan, null);
        }