コード例 #1
0
        private void GenerateChildren(MenuJson menuInfo, DataTable dtMenu, string[] permission)
        {
            foreach (DataRow row in dtMenu.Rows)
            {
                int menuType = int.Parse(row["MenuType"].ToString());
                int parentId = int.Parse(row["ParentId"].ToString());

                if (menuInfo.id != parentId)
                {
                    continue;
                }

                MenuJson menu = new MenuJson();
                menu.id       = int.Parse(row["Id"].ToString());
                menu.text     = row["MenuText"].ToString();
                menu.Url      = row["Url"].ToString();
                menu.MenuType = menuType;
                menu.iconCls  = "tree-file";
                menu.ParentId = parentId;
                menu.IsEnable = Convert.ToBoolean(row["IsEnable"]);

                // 获取出所有的权限
                Hashtable htCondition = new Hashtable();
                htCondition.Add("MenuId", menu.id);
                var dbm = DataBaseFactory.Instance.Create();

                var dtPerm = dbm.GetDataTable("*", "Sys_Permission", htCondition, "Id");
                foreach (DataRow permissionRow in dtPerm.Rows)
                {
                    PermissionJson permissionJson = new PermissionJson();
                    permissionJson.id          = int.Parse(permissionRow["Id"].ToString());
                    permissionJson.Code        = permissionRow["Code"].ToString();
                    permissionJson.MenuId      = int.Parse(permissionRow["MenuId"].ToString());
                    permissionJson.text        = permissionRow["Text"].ToString();
                    permissionJson.Description = permissionRow["Description"].ToString();
                    permissionJson.iconCls     = "icon-man";
                    // TODO 张春雨 - 权限菜单 - 获取真实用户权限
                    permissionJson.Checked = permission.Contains(permissionRow["Code"].ToString());

                    if (menu.children == null)
                    {
                        menu.children = new List <BaseTreeItemJson>();
                    }
                    menu.children.Add(permissionJson);
                }

                if (menuInfo.children == null)
                {
                    menuInfo.children = new List <BaseTreeItemJson>();
                }
                menuInfo.children.Add(menu);

                GenerateChildren(menu, dtMenu, permission);
            }
        }
コード例 #2
0
        public async Task <IActionResult> Create([Bind("Id,Name,Description")] PermissionJson permission)
        {
            Logger.Trace($"[{nameof(Create)}] 请求参数:\r\n{JsonUtil.ToJson(permission)}");
            try
            {
                // 1. 权限验证
                if (!await RoleOrgPerManager.HasPermissionInSelfOrg(SignUser.Id, Constants.PER_MANAGE))
                {
                    ModelState.AddModelError("All", "没有权限");
                    return(RedirectToAction(nameof(Index)));
                }
                // 2. 业务处理
                await PermissionManager.Create(permission);

                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception e)
            {
                Logger.Error($"[{nameof(Details)}] 服务器错误:\r\n{e}");
                return(RedirectToAction(nameof(Index)));
            }
        }
コード例 #3
0
        public async Task <IActionResult> Edit(string id, /*[Bind("Id,Name,Description")]*/ PermissionJson permission)
        {
            Logger.Trace($"[{nameof(Edit)}] 请求参数:\r\n{JsonUtil.ToJson(permission)}");
            if (permission == null || permission.Id == null || permission.ParentId == null)
            {
                ModelState.AddModelError("All", "参数不能为空");
                return(View());
            }
            if (id != permission.Id)
            {
                return(NotFound());
            }

            try
            {
                // 1. 权限验证
                if (!await RoleOrgPerManager.HasPermissionInSelfOrg(SignUser.Id, Constants.PER_MANAGE))
                {
                    ModelState.AddModelError("All", "没有权限");
                    return(RedirectToAction(nameof(Index)));
                }
                // 2. 业务处理
                if (!await PermissionManager.Exist(per => per.Id == permission.Id))
                {
                    return(NotFound());
                }
                await PermissionManager.Update(permission);

                return(RedirectToAction(nameof(Index)));
            }
            catch (Exception e)
            {
                Logger.Error($"[{nameof(Edit)}] 服务器错误:\r\n{e}");
                return(RedirectToAction(nameof(Index)));
            }
        }