public async Task <IActionResult> Index(int type) { var sid = this.UserID; var usertype = this.UserType; List <SysMenu> list = new List <SysMenu> { }; if (usertype == UserType.SuperUser) { var menus = await SysMenuDAL.QueryAsync(w => w.Status == 1, null, null); list = menus.list; } else { var userMenus = await SysRoleMenuDAL.QueryUserMenu(Convert.ToInt64(sid)); userMenus.list.ForEach(m => { list.Add(m.Menu); }); } ViewBag.menuList = (from p in list where (p.ParentID ?? 0) == 0 select new SysMenuTreeNode(list, p)).ToList(); return(View()); }
public async Task <ActionResult> Update([FromBody] SysRoleView model) { var resdata = await AutoException.Excute <SysRole>(async (result) => { model.UpdateBy = "admin"; model.UpdateDt = DateTime.Now; var res = await SysRoleDAL.UpdateAsync(model); result.Data = model; if (!res) { throw new Exception("数据修改异常,JSON:" + Newtonsoft.Json.JsonConvert.SerializeObject(model)); } else { if (!string.IsNullOrEmpty(model.authids)) { string[] idstr = model.authids.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); List <SysRoleMenu> rolelist = (from p in idstr select new SysRoleMenu { RoleId = model.Id, MenuId = Convert.ToInt32(p), Status = 1, CreateDt = DateTime.Now, CreateBy = model.UpdateBy }).ToList(); await SysRoleMenuDAL.BatchInsertAsync(rolelist); } } }, false); return(Json(resdata)); }
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)); }
public async Task <ActionResult> Auth([FromBody] SysRoleView model) { var resdata = await AutoException.Excute <SysRole>(async (result) => { //删除 SysRoleMenuDAL.Delete(del => del.RoleId == model.Id); SysRoleButtonDAL.Delete(del => del.RoleId == model.Id); if (!string.IsNullOrEmpty(model.authids)) { string[] idstr = model.authids.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); List <SysRoleMenu> rolelist = (from p in idstr select new SysRoleMenu { RoleId = model.Id, MenuId = Convert.ToInt32(p), Status = 1, CreateDt = DateTime.Now, CreateBy = model.UpdateBy }).ToList(); await SysRoleMenuDAL.BatchInsertAsync(rolelist); string[] btnids = model.btnids.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); List <SysRoleButton> btnlist = (from p in btnids select new SysRoleButton { RoleId = model.Id, ButtonId = Convert.ToInt32(p), Status = 1, CreateDt = DateTime.Now, CreateBy = model.UpdateBy }).ToList(); await SysRoleButtonDAL.BatchInsertAsync(btnlist); } }, false); return(Json(resdata)); }
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)); }