예제 #1
0
        private void frmRole_Load(object sender, EventArgs e)
        {
            List <GroupUser> listGroupUser = new List <GroupUser>();

            listGroupUser = grUserBUS.getGroupUser();  // lấy được các nhóm người dùng


            for (int i = 0; i < listGroupUser.Count; i++)
            {
                List <UserDTO> listUser = new List <UserDTO>();
                listUser = user_BUS.GetUserFromGroup(listGroupUser[i].GR_ID);  // lấy danh sách các User cuar GR đấy
                TreeListNode prarentNode = treeGroupUser.AppendNode(null, null);
                prarentNode.SetValue("vaitrovanguoidung", listGroupUser[i].Group_Name);

                for (int j = 0; j < listUser.Count; j++)
                {
                    TreeListNode childNode1 = null;
                    childNode1 = treeGroupUser.AppendNode(null, prarentNode);
                    childNode1.SetValue("vaitrovanguoidung", listUser[j].NameUser);
                }
            }
            //Hiển thị phần chức năng phân quyền

            // lấy các ID và Name của GroupForm

            List <GroupForm> listGroupForm = new List <GroupForm>();

            listGroupForm = grFormBUS.getGroupForm();

            for (int i = 0; i < listGroupForm.Count; i++)
            {
                TreeListNode prarentNode = listRule.AppendNode(null, null);
                prarentNode.SetValue("chucNang", listGroupForm[i].formName);
                List <OBForm> listOBForm = obFormBUS.getListOBForm(listGroupForm[i].formID); // lấy được OBForm theo nhóm form
                prarentNode.SetValue("All", true);
                prarentNode.SetValue("Add", true);
                prarentNode.SetValue("Access", true);
                prarentNode.SetValue("Nhap", true);
                prarentNode.SetValue("Xuat", true);
                prarentNode.SetValue("In", true);
                prarentNode.SetValue("Delete", true);
                prarentNode.SetValue("Edit", true);


                for (int j = 0; j < listOBForm.Count; j++)
                {
                    TreeListNode childnode1 = null;
                    childnode1 = listRule.AppendNode(null, prarentNode);
                    childnode1.SetValue("chucNang", listOBForm[j].OBForm_Name);
                    childnode1.SetValue("All", true);
                    childnode1.SetValue("Add", true);
                    childnode1.SetValue("Access", true);
                    childnode1.SetValue("Nhap", true);
                    childnode1.SetValue("Xuat", true);
                    childnode1.SetValue("In", true);
                    childnode1.SetValue("Delete", true);
                    childnode1.SetValue("Edit", true);
                    // lấy danh sách các form
                    List <FormChild> listFormChild = childFormBUS.getListOBChild(listOBForm[j].Object_ID);

                    for (int z = 0; z < listFormChild.Count; z++)
                    {
                        TreeListNode childnode11 = null;
                        childnode11 = listRule.AppendNode(null, childnode1);
                        childnode11.SetValue("chucNang", listFormChild[z].Child_Name);
                        TreeListNode child111 = new TreeListNode();
                        // lấy các quyền truy cập của Form
                        List <RuleForm> listRuleForm = ruleFormBUS.getRuleFormChild(listFormChild[z].OBJECT_CHILD_ID);
                        childnode11.SetValue("All", true);
                        childnode11.SetValue("Access", listRuleForm[0].AllowAccess);
                        childnode11.SetValue("Add", listRuleForm[0].AllowAdd);
                        childnode11.SetValue("Delete", listRuleForm[0].AllowDelete);
                        childnode11.SetValue("Nhap", listRuleForm[0].AllowExport);
                        childnode11.SetValue("Xuat", listRuleForm[0].AllowImport);
                        childnode11.SetValue("In", listRuleForm[0].AllowPrint);
                        childnode11.SetValue("Edit", listRuleForm[0].AllowEdit);
                    }
                }
            }
        }