public int Add(RoleDb model, List <RoleModuleRelationDb> roleModuleRelations) { using (var dbContextTransaction = PermissionDal.DbContext.Database.BeginTransaction()) //起一个事务 { try { PermissionDal.Add(model); PermissionDal.DbContext.SaveChanges(); if (roleModuleRelations != null) { foreach (var r in roleModuleRelations) { r.creator_name = model.creator_name; r.creator_date = model.creator_date; r.role_id = model.role_id; PermissionDal.Set <RoleModuleRelationDb>().Add(r); } } PermissionDal.DbContext.SaveChanges(); dbContextTransaction.Commit(); return(model.role_id); } catch (Exception ex) { dbContextTransaction.Rollback(); throw ex; } } }
/// <summary> /// 获取用户对应的角色列表 /// </summary> /// <param name="userName">用户名</param> /// <returns></returns> public IQueryable <RoleDb> GetRoleDbList(string userName) { IQueryable <int> roleIds = PermissionDal.Set <AdminUserRoleRelationDb>().Where(c => c.user_name == userName).Select(c => c.role_id); return(PermissionDal.Where(c => roleIds.Contains(c.role_id))); }
/// <summary> /// 获取用户对应的有权限的活动的模块 /// </summary> /// <param name="userName">用户名</param> /// <returns></returns> public IQueryable <ModuleDb> GetModuleList(string userName) { IQueryable <int> roleIds = RoleBll.Instance.GetRoleDbList(userName).Select(c => c.role_id); IQueryable <string> moduleCodes = PermissionDal.Set <RoleModuleRelationDb>() .Where(c => roleIds.Contains(c.role_id)).Select(c => c.module_code); return(PermissionDal.Where(c => moduleCodes.Contains(c.module_code) && c.module_status == (int)Model.Common.GlobalCode.CommonStatus.Active) .OrderBy(c => c.order_by)); }
/// <summary> ///获取所有的模块,以Ztree可以识别的Ztree格式返回,并且根据角色权限设置对应模块为选中状态 /// <param name="id">角色id</param> /// <returns></returns> public string GetModuleMacheRoleTree(int id) { List <LevelModuleViewModel> moduleList = GetLevelMudleListIsArrayAll().Where(c => c.module_status == 1).ToList(); List <JsonZtree> jsonZtreeList = ZtreeManage.IniJsonZtreeList(moduleList, moduleList); if (id > 0) { List <RoleModuleRelationDb> list = PermissionDal.Set <RoleModuleRelationDb>() .Where(c => c.role_id == id).ToList(); foreach (var m in jsonZtreeList) { if (list.FirstOrDefault(c => c.module_code == m.id) != null) { m.Checked = "true"; m.open = "true"; } } } return(ZtreeManage.GetZtreeJson(jsonZtreeList)); }
/// <summary> /// 分页方法 /// </summary> /// <param name="m">搜索模型</param> /// <returns></returns> public PagedList <DictionaryTypeTableDb> GetPageList(SearchModel m) { return(PermissionDal.Set <DictionaryTypeTableDb>().Where(m).Pager(m)); }
/// <summary> /// 获取所有的模块 /// </summary> /// <returns></returns> public IQueryable <ModuleDb> GetMouduleListAll() { return(PermissionDal.Set <ModuleDb>().OrderBy(c => c.order_by)); }
/// <summary> /// 分页方法 /// </summary> /// <param name="m">搜索模型</param> /// <returns></returns> public PagedList <RoleDb> GetRoleDbPageList(SearchModel m) { return(PermissionDal.Set <RoleDb>().Where(m).Pager(m)); }
/// <summary> /// 分页方法 /// </summary> /// <param name="m">搜索模型</param> /// <returns></returns> public PagedList <AdminUserDb> GetPageList(SearchModel m) { return(PermissionDal.Set <AdminUserDb>().Where(m).Pager(m)); }