示例#1
0
        public async Task <ActionResult> UpdateModule(string id)
        {
            var roleMenus = await SysRoleMenuDAL.QueryUserRole(u => u.RoleId == Convert.ToInt32(id), null, null);

            (List <SysMenu> list, long count)menus = await SysMenuDAL.QueryAsync(w => w.Status == 1);

            ViewBag.Menus = menus.list.Select(s => new SelectListItem {
                Selected = roleMenus.list.Exists(ss => ss.RoleId == s.Id), Text = s.MenuName, Value = s.Id.ToString()
            }).ToList();

            SysRole model = new SysRole()
            {
            };

            if (!string.IsNullOrEmpty(id) && id != "0")
            {
                int _id = Convert.ToInt32(id);
                model = await SysRoleDAL.GetByOneAsync(w => w.Id == _id);
            }
            return(View(model));
        }
示例#2
0
        public async Task <ActionResult> GetTree(long id, int type = 1)
        {
            //已授权的角色菜单
            var roleMenus = await SysRoleMenuDAL.QueryUserRole(u => u.RoleId == Convert.ToInt32(id), null, null);

            var roleButtons = await SysRoleButtonDAL.QueryAsync(u => u.RoleId == Convert.ToInt32(id), null, null);

            //所有状态为有效的菜单
            (List <SysMenu> list, long count)menus = await SysMenuDAL.QueryAsync(w => w.Status == 1);

            var lists = menus.list.Select(s =>
            {
                var btns    = s.SysMenuButtons ?? new List <SysMenuButton>();
                var newBtns = btns.Select(b => new TreeNode
                {
                    id        = b.Id.ToString(),
                    name      = b.ButtonCode,
                    title     = b.ButtonName,
                    ischecked = roleButtons.list.Exists(e => e.ButtonId == b.Id)
                }).ToList();

                var strbtns = Newtonsoft.Json.JsonConvert.SerializeObject(newBtns);
                return(new SysMenuTreeNode
                {
                    ischecked = roleMenus.list.Exists(ss => ss.MenuId == s.Id),
                    name = s.MenuName,
                    title = s.MenuName,
                    pid = (s.ParentID ?? 0).ToString(),
                    id = s.Id.ToString(),
                    //buttons = newBtns,
                    jsonButtons = strbtns
                });
            }).ToList();

            return(Json(lists));
        }