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)); }
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)); }
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 ? "保存成功!" : "保存失败")); }
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; } }