コード例 #1
0
        public JsonResult RoleMenu()
        {
            string roleId  = Request["roleId"];
            int    id      = roleId.ToInt32();
            string menuIds = Request["menuIds"];

            #region 分配之前先删除
            List <Sys_RoleMenu> roleMenus = _sysRoleMenuService.LoadEntities(c => c.RoleId == id).ToList();

            for (int i = 0; i < roleMenus.Count; i++)
            {
                Sys_RoleMenu entity = new Sys_RoleMenu {
                    Id = roleMenus[i].Id, RoleId = roleMenus[i].RoleId, MenuId = roleMenus[i].MenuId
                };
                _sysRoleMenuService.DeleteEntity(entity);
            }
            #endregion
            if (menuIds.Contains(","))
            {
                string[] arrays = menuIds.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                for (int i = 0; i < arrays.Length; i++)
                {
                    _sysRoleMenuService.AddEntity(new Sys_RoleMenu {
                        MenuId = arrays[i].ToInt32(), RoleId = roleId.ToInt32()
                    });
                }
            }
            return(Json(new { state = 200 }, JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
        public HttpResponseMessage FindSysRoleMenuTable(Sys_RoleMenu obj)
        {
            var list = db.Sys_Menu.Where(w => w.IsValid != 0 && w.MenuParentID == 0).Select(s => new
            {
                MenuID        = s.MenuID,
                MenuName      = s.MenuName,
                MenuIcon      = s.MenuIcon,
                Comment       = s.Comment,
                MenuRolesData = db.Sys_Menu.Where(w1 => w1.IsValid != 0 && w1.MenuParentID == s.MenuID && db.Sys_RoleMenu.Where(w0 => w0.RoleID == obj.RoleID && w0.MenuID == w1.MenuID).Select(s0 => s0.MenuID).ToList().Count > 0).Select(s1 => s1.MenuID).ToList(),
                chilDren      = db.Sys_Menu.Where(w2 => w2.IsValid != 0 && w2.MenuParentID == s.MenuID).Select(s2 => new
                {
                    MenuID   = s2.MenuID,
                    MenuName = s2.MenuName
                }).ToList()
            }).ToList();

            return(Json(true, "", list));
        }
コード例 #3
0
        public HttpResponseMessage SaveSysRoleMenuForm(dynamic obj)
        {
            int RoleID = obj.RoleID;
            var arr    = obj.MenuID;
            var temp   = db.Set <Sys_RoleMenu>().Where(w => w.RoleID == RoleID);

            foreach (var item in temp)
            {
                db.Entry <Sys_RoleMenu>(item).State = EntityState.Deleted;
            }

            List <Sys_RoleMenu> list = new List <Sys_RoleMenu>();


            foreach (int item in arr)
            {
                var tempObj = new Sys_RoleMenu()
                {
                    RoleID       = RoleID,
                    MenuID       = item,
                    RecTimeStamp = DateTime.Now,
                    CreateUserID = 1,
                    CreateDate   = DateTime.Now,
                    ModifyUserID = 1,
                    ModifyDate   = DateTime.Now
                };
                list.Add(tempObj);
            }

            int result = 0;

            for (int i = 0; i < list.Count(); i++)
            {
                if (list[i] == null)
                {
                    continue;
                }
                db.Entry <Sys_RoleMenu>(list[i]).State = EntityState.Added;
            }

            result += db.SaveChanges();

            return(Json(true, result > 0 ? "保存成功!" : "保存失败"));
        }
コード例 #4
0
        public async Task <bool> SaveRoleMenuAsync(int rid, List <int> menuListId)
        {
            try
            {
                var roleMenus = await context.Sys_RoleMenus.Where(p => p.RoleId == rid).ToListAsync();

                context.Sys_RoleMenus.RemoveRange(roleMenus);//先全部删除该角色下所有的菜单权限
                var roleMenuOper = await context.Sys_RoleOpers.Where(p => p.RoleId == rid).ToListAsync();

                context.Sys_RoleOpers.RemoveRange(roleMenuOper);       //先全部删除该角色下所有的操作权限
                var menuOperList = await repo_menuOper.GetListAsync(); //所有的实体,用于获取menuID

                //await context.SaveChangesAsync();
                foreach (int menuid in menuListId)
                {
                    if (menuid.ToString().Length == 7)
                    {
                        //插入Sys_RoleOper表
                        var newRoleOper = new Sys_RoleOper();
                        newRoleOper.RoleId     = rid;
                        newRoleOper.MenuId     = menuOperList.Where(p => p.MenuOperId == menuid).FirstOrDefault().MenuId;
                        newRoleOper.MenuOperId = menuid;
                        context.Sys_RoleOpers.Add(newRoleOper);
                    }
                    else
                    {
                        //插入Sys_RoleMenu表
                        var newRoleMenu = new Sys_RoleMenu();
                        newRoleMenu.RoleId = rid;
                        newRoleMenu.MenuId = menuid;
                        context.Sys_RoleMenus.Add(newRoleMenu);
                    }
                }
                int s = await context.SaveChangesAsync();

                return(s > 0);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }