/// <summary> /// 分页获取AppUserList /// </summary> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <param name="name"></param> /// <param name="count"></param> /// <returns></returns> public List <SYS_USERINFO> GetAppUserList(int pageIndex, int pageSize, string name, ref int count) { try { //查询数据 using (HISDataEntities appEntities = new HISDataEntities()) { var queryResult = (from a in appEntities.SYS_USERINFO join b in appEntities.SYS_Department on a.DepartmentID equals b.ID into temp from b in temp.DefaultIfEmpty() select new { a, b }); if (!String.IsNullOrEmpty(name)) { queryResult = queryResult.Where(p => p.a.NAME.Contains(name) || p.a.LoginName.Contains(name)); } count = queryResult.Count(); if (count < 1) { return(new List <SYS_USERINFO>()); } //分页 queryResult = queryResult.OrderByDescending(p => p.a.ID).Skip((pageIndex - 1) * pageSize).Take(pageSize); //转换 List <SYS_USERINFO> result = new List <SYS_USERINFO>(); foreach (var item in queryResult) { SYS_USERINFO user = new SYS_USERINFO(); user.ID = item.a.ID; user.NAME = item.a.NAME; user.Tel = item.a.Tel; user.Email = item.a.Email; user.CreateTime = item.a.CreateTime; user.HeadImg = item.a.HeadImg; user.LoginName = item.a.LoginName; user.QQ = item.a.QQ; user.Position = item.a.Position; if (item.b == null) { user.DepartmentID = 0; user.DepartmentName = "无部门"; } else { user.DepartmentID = item.b.ID; user.DepartmentName = item.b.Department; } result.Add(user); } return(result); } } catch (Exception e) { return(null); } }
/// <summary> /// 获取权限的Tree数据源,如果Role不为空,则根据roleID自动选中 /// </summary> /// <param name="p"></param> /// <param name="errMsg"></param> /// <param name="count"></param> /// <returns></returns> public List <Hashtable> GetRoleActionRoleTreeList(int roleId, ref string errMsg) { try { List <SYS_Action> queryList = null; List <SYS_ROLEACTIONMAPPING> roleMapping = null; //获取权限列表和当前的权限列表 using (HISDataEntities appEntities = new HISDataEntities()) { queryList = (from a in appEntities.SYS_Action where a.Flag == 1 select a).ToList(); roleMapping = (from a in appEntities.SYS_ROLEACTIONMAPPING where a.ROLEID == roleId select a).ToList(); if (queryList.Count() < 1) { return(new List <Hashtable>()); } } List <Hashtable> htList = new List <Hashtable>(); var findList = queryList.Where(o => o.ParentID == 0 && o.Flag == 1); foreach (SYS_Action parentItem in findList) { Hashtable ht = InitActionTreeChildren(queryList, parentItem, roleMapping); htList.Add(ht); } return(htList); } catch (Exception e) { errMsg = e.Message; return(new List <Hashtable>()); } }
private string CreateDeptNum(SYS_Department dept) { string actionCount = "01"; string deptNum = "DT"; SYS_Department parentMenu = null; SYS_Department lastMenu = null; using (HISDataEntities hisEntities = new HISDataEntities()) { //查找上级菜单 parentMenu = hisEntities.SYS_Department.Where(o => o.ID == dept.ParentID).FirstOrDefault(); //查询菜单下最大编号不包括自己和已经删除的 lastMenu = hisEntities.SYS_Department.Where(o => o.ParentID == dept.ParentID).OrderByDescending(o => o.DepartmentNum).FirstOrDefault(); } if (lastMenu != null) { var str = lastMenu.DepartmentNum.Substring(lastMenu.DepartmentNum.Length - 2, 2); int number = Convert.ToInt32(str) + 1; actionCount = number.ToString().PadLeft(2, '0'); } if (parentMenu != null) { deptNum = parentMenu.DepartmentNum + actionCount; return(deptNum); } return(deptNum + actionCount); }
/// <summary> /// 获取部门Tree /// </summary> /// <param name="count"></param> /// <param name="errMsg"></param> /// <returns></returns> public List <Hashtable> GetDepartmentTree(ref int count, ref string errMsg) { try { using (HISDataEntities appEntitys = new HISDataEntities()) { IQueryable <SYS_Department> departmentList = appEntitys.SYS_Department.Where(o => o.Flag == 1 && o.ParentID == 0); count = departmentList.Count(); List <Hashtable> tableList = new List <Hashtable>(); Hashtable noneTable = new Hashtable(); noneTable.Add("id", 0); noneTable.Add("text", "无部门"); tableList.Add(noneTable); if (count < 1) { return(tableList); } foreach (var item in departmentList) { Hashtable ht = new Hashtable(); ht.Add("id", item.ID); ht.Add("text", item.Department); InitDepartmentChildren(appEntitys, ht, item.ID); tableList.Add(ht); } return(tableList); } } catch (Exception e) { errMsg = e.Message; return(new List <Hashtable>()); } }
/// <summary> /// 添加部门 /// </summary> /// <param name="department"></param> /// <param name="errMsg"></param> public void AddDepartment(SYS_Department department, ref string errMsg) { try { department.Flag = 1; using (HISDataEntities appEntitys = new HISDataEntities()) { if (department.ParentID == null) { department.ParentID = 0; } //检查部门编号和部门名称不能重复 var queryList = appEntitys.SYS_Department.Where(o => o.Department == department.Department || o.DepartmentNum == department.DepartmentNum); if (queryList.Count() > 0) { errMsg = "部门名称或部门编号重复"; return; } department.DepartmentNum = CreateDeptNum(department); appEntitys.SYS_Department.Add(department); appEntitys.SaveChanges(); } } catch (Exception e) { errMsg = e.Message; } }
/// <summary> /// 编辑部门 /// </summary> /// <param name="department"></param> /// <param name="errMsg"></param> public void EditDepartment(SYS_Department department, ref string errMsg) { try { using (HISDataEntities appEntitys = new HISDataEntities()) { SYS_Department editItem = appEntitys.SYS_Department.Where(o => o.ID == department.ID).FirstOrDefault(); if (editItem == null) { errMsg = "查无数据"; return; } editItem.DepartmentNum = department.DepartmentNum; editItem.Department = department.Department; //editItem.Disc = department.Disc; editItem.ParentID = department.ParentID; editItem.Flag = department.Flag; appEntitys.SaveChanges(); } } catch (Exception e) { errMsg = e.Message; } }
/// <summary> /// 获取TreeGrid 格式数据 /// </summary> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <param name="name"></param> /// <param name="count"></param> /// <param name="errMsg"></param> /// <returns></returns> public List <Hashtable> GetDepartmentTreeGridList(ref int count, ref string errMsg) { try { List <SYS_Department> queryList = null; using (HISDataEntities appEntities = new HISDataEntities()) { queryList = appEntities.SYS_Department.Where(o => o.Flag == 1).ToList(); count = queryList.Count(); if (count < 1) { return(null); } } List <Hashtable> htList = new List <Hashtable>(); var parentList = queryList.Where(o => o.ParentID == 0); foreach (SYS_Department actionItem in parentList) { Hashtable ht = InitDepartmentGridChildren(queryList, actionItem); htList.Add(ht); } return(htList); } catch (Exception e) { errMsg = e.Message; count = 0; return(null); } }
private string CreateMenuNum(SYS_ITEMMENU menu) { string actionCount = "01"; string menuNum = "MN"; SYS_ITEMMENU parentMenu = null; SYS_ITEMMENU lastMenu = null; using (HISDataEntities hisEntities = new HISDataEntities()) { //查找上级菜单 parentMenu = hisEntities.SYS_ITEMMENU.Where(o => o.ID == menu.ParentID).FirstOrDefault(); //查询菜单下最大编号不包括自己和已经删除的 lastMenu = hisEntities.SYS_ITEMMENU.Where(o => o.ParentID == menu.ParentID).OrderByDescending(o => o.MenuNum).FirstOrDefault(); } if (lastMenu != null) { var str = lastMenu.MenuNum.Substring(lastMenu.MenuNum.Length - 2, 2); int number = Convert.ToInt32(str) + 1; actionCount = number.ToString().PadLeft(2, '0'); } if (parentMenu != null) { menuNum = parentMenu.MenuNum + actionCount; return(menuNum); } return(menuNum + actionCount); }
/// <summary> /// 添加菜单 /// </summary> /// <param name="menuItem"></param> /// <param name="errMsg"></param> public void AddMenu(SYS_ITEMMENU menuItem, ref string errMsg) { try { using (HISDataEntities hisEntities = new HISDataEntities()) { menuItem.MenuNum = CreateMenuNum(menuItem); menuItem.CREATETIME = DateTime.Now; menuItem.STATE = "open"; //更新上级菜单state 为 closeed var findItem = hisEntities.SYS_ITEMMENU.Where(o => o.ID == menuItem.ParentID).FirstOrDefault(); if (findItem != null) { findItem.STATE = "closed"; } menuItem.CHECKED = true; menuItem.SEQ = 1;//排序 hisEntities.SYS_ITEMMENU.Add(menuItem); hisEntities.SaveChanges(); } } catch (Exception e) { errMsg = e.Message; } }
/// <summary> /// 根据name获取菜单列表 /// </summary> /// <param name="name"></param> /// <param name="count"></param> /// <returns></returns> public List <Hashtable> GetAppActionTreeGridList(ref int count) { try { List <Models.SYS_Action> queryList = null; using (HISDataEntities appEntities = new HISDataEntities()) { queryList = appEntities.SYS_Action.Where(o => o.Flag == 1).ToList(); count = queryList.Count(); if (count < 1) { return(null); } } List <Hashtable> htList = new List <Hashtable>(); var parentList = queryList.Where(o => o.ParentID == 0); foreach (SYS_Action actionItem in parentList) { Hashtable ht = CreateTreeGridList(queryList, actionItem); htList.Add(ht); } return(htList); } catch (Exception e) { count = 0; return(null); } }
/// <summary> /// 删除权限 /// </summary> public void DeleteAction(int actionId, ref string errMsg) { try { List <SYS_Action> deleteList = null; using (HISDataEntities appEntities = new HISDataEntities()) { SYS_Action actionItem = appEntities.SYS_Action.Where(o => o.ID == actionId).FirstOrDefault(); if (actionItem == null) { errMsg = "查无数据"; return; } actionItem.Flag = 0; deleteList = DeleteActionChildren(appEntities, actionId); deleteList.Add(actionItem); //更新菜单中的ActionNum SYS_ITEMMENU findMenu = appEntities.SYS_ITEMMENU.Where(o => o.ActionNum == actionItem.ActionNum).FirstOrDefault(); if (findMenu != null) { findMenu.ActionNum = string.Empty; } // 保存 appEntities.SaveChanges(); } } catch (Exception e) { errMsg = e.Message; } }
/// <summary> /// 新增用户 /// </summary> /// <param name="user"></param> public void AddUser(SYS_USERINFO user, ref string errMsg) { try { using (HISDataEntities appEntity = new HISDataEntities()) { //检查重复用户名 IQueryable <SYS_USERINFO> appList = appEntity.SYS_USERINFO.Where(o => o.LoginName == user.LoginName); if (appList.Count() > 0) { errMsg = "用户名已经存在"; return; } user.GUID = Guid.NewGuid(); user.PASSWORD = Common.MD5Helper.MD5Encrypt32bit(user.PASSWORD); appEntity.SYS_USERINFO.Add(user); //为用户设置默认角色 appEntity.SaveChanges(); } } catch (Exception e) { errMsg = e.Message; } }
public List <Hashtable> GetAppActionComboTreeList(ref int count) { try { List <SYS_Action> queryList = null; using (HISDataEntities appEntities = new HISDataEntities()) { queryList = appEntities.SYS_Action.Where(o => o.Flag == 1).ToList(); count = queryList.Count(); } List <Hashtable> htList = new List <Hashtable>(); Hashtable firstItem = new Hashtable(); firstItem.Add("id", 0); firstItem.Add("text", "无上级"); htList.Add(firstItem); if (count < 1) { return(htList); } var parentList = queryList.Where(o => o.ParentID == 0); foreach (SYS_Action actionItem in parentList) { Hashtable ht = CreateComboTreeList(queryList, actionItem); htList.Add(ht); } return(htList); } catch (Exception e) { return(null); } }
/// <summary> /// 根据用户Id获取所有角色 /// </summary> /// <param name="userId"></param> /// <returns></returns> public List <SYS_ROLE> GetAppUserRoleList(int userId, ref string errMsg) { try { using (HISDataEntities appEntities = new HISDataEntities()) { var query = (from a in appEntities.SYS_ROLE join b in appEntities.SYS_USERROLEMAPPING on a.ID equals b.ROLEID where b.USERID == userId select a); if (query == null) { return(null); } return(query.ToList()); } } catch (Exception e) { errMsg = e.Message; return(null); } }
/// <summary> /// 删除用户数据 /// </summary> /// <param name="userId"></param> /// <param name="errMsg"></param> public void DeleteUser(int userId, ref string errMsg) { try { using (HISDataEntities appEntitys = new HISDataEntities()) { var appUser = appEntitys.SYS_USERINFO.Where(o => o.ID == userId).FirstOrDefault(); if (appUser == null) { errMsg = "查找不到数据数据"; return; } //删除用户 appEntitys.SYS_USERINFO.Remove(appUser); //删除用户级联的角色 var roleMapping = appEntitys.SYS_USERROLEMAPPING.Where(o => o.USERID == userId); if (roleMapping.Count() > 0) { foreach (var item in roleMapping) { appEntitys.SYS_USERROLEMAPPING.Remove(item); } } appEntitys.SaveChanges(); } } catch (Exception e) { errMsg = e.Message; } }
/// <summary> /// 根据权限获取该用户的菜单列表 /// </summary> /// <param name="userId"></param> /// <returns></returns> public List <SYS_ITEMMENU> GetAppUserMenuList(int userId) { try { using (HISDataEntities appEntities = new HISDataEntities()) { //级联角色,如果角色删除,排除删除的角色 //将菜单存到数据库 var quertList = from a in appEntities.SYS_ITEMMENU join b in appEntities.SYS_Action on a.ActionNum equals b.ActionNum join c in appEntities.SYS_ROLEACTIONMAPPING on b.ID equals c.ACTIONID join d in appEntities.SYS_USERROLEMAPPING on c.ROLEID equals d.ROLEID join e in appEntities.SYS_ROLE on d.ROLEID equals e.ID where d.USERID == userId && b.Flag == 1 && e.FLAG == 1 orderby a.ORDERINDEX ascending select a; return(quertList.Distinct().ToList()); } } catch (Exception e) { return(null); } }
/// <summary> /// 根据用户id,获取用户下的权限列表 /// </summary> /// <param name="userid">用户id</param> /// <param name="actionType">权限类型</param> /// <returns></returns> public List <SYS_Action> GetAppUserActionList(int userid, Models.HIS.AppActionType actionType) { try { using (HISDataEntities appEntities = new HISDataEntities()) { //查询 var queryList = (from a in appEntities.SYS_Action join b in appEntities.SYS_ROLEACTIONMAPPING on a.ID equals b.ACTIONID join c in appEntities.SYS_USERROLEMAPPING on b.ROLEID equals c.ROLEID where c.USERID == userid select a).Distinct(); if (queryList.Count() < 1) { return(null); } //过滤菜单权限还是按钮权限 if (actionType == Models.HIS.AppActionType.AllAction) { return(queryList.ToList()); } int typeInt = Convert.ToInt32(actionType); queryList = queryList.Where(o => o.Type == typeInt); return(queryList.ToList()); } } catch { return(null); } }
/// <summary> /// 编辑角色 /// </summary> /// <param name="roleInfo"></param> /// <param name="errMsg"></param> public void EditRole(SYS_ROLE roleInfo, ref string errMsg) { try { using (HISDataEntities appEntities = new HISDataEntities()) { SYS_ROLE roleItem = appEntities.SYS_ROLE.Where(o => o.ID == roleInfo.ID).FirstOrDefault(); if (roleItem == null) { errMsg = "查无数据"; return; } //检查用户编码不能重复 if (appEntities.SYS_ROLE.Where(o => o.ROLENUM == roleInfo.ROLENUM && o.ID != roleInfo.ID).Count() > 0) { errMsg = "角色编码不能重复"; return; } roleItem.ROLENAME = roleInfo.ROLENAME; roleItem.ROLENUM = roleInfo.ROLENUM; //roleItem.Disc = roleInfo.Disc; appEntities.SaveChanges(); } } catch (Exception e) { errMsg = e.Message; } }
/// <summary> /// 获取分页数据 /// </summary> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <param name="name"></param> /// <returns></returns> public List <SYS_ROLE> GetAppRoleList(int pageIndex, int pageSize, ref int count, string name) { try { using (HISDataEntities appEntites = new HISDataEntities()) { var roleList = appEntites.SYS_ROLE.Where(o => o.FLAG == 1); if (!string.IsNullOrEmpty(name)) { roleList = roleList.Where(o => o.ROLENAME.Contains(name)); } count = roleList.Count(); if (count < 1) { return(new List <SYS_ROLE>()); } roleList = roleList.OrderByDescending(o => o.ID).Skip((pageIndex - 1) * pageSize).Take(pageSize); return(roleList.ToList()); } } catch (Exception e) { return(null); } }
/// <summary> /// 自动生成权限编码 /// </summary> /// <param name="actionItem"></param> /// <returns></returns> private string CreateActionNum(SYS_Action actionItem) { SYS_Action parentAction = null; SYS_Action lastAction = null; string actionCount = "01"; string actionNum = "RT"; using (HISDataEntities appEntities = new HISDataEntities()) { //查找上级菜单 parentAction = appEntities.SYS_Action.Where(o => o.ID == actionItem.ParentID).FirstOrDefault(); //查询菜单下最大编号不包括自己和已经删除的 lastAction = appEntities.SYS_Action.Where(o => o.ParentID == actionItem.ParentID).OrderByDescending(o => o.ActionNum).FirstOrDefault(); } if (lastAction != null) { var str = lastAction.ActionNum.Substring(lastAction.ActionNum.Length - 2, 2); int number = Convert.ToInt32(str) + 1; actionCount = number.ToString().PadLeft(2, '0'); } if (parentAction != null) { actionNum = parentAction.ActionNum + actionCount; return(actionNum); } return(actionNum + actionCount); }
/// <summary> /// 添加角色 /// </summary> /// <param name="roleInfo"></param> /// <param name="errMsg"></param> public void AddRole(SYS_ROLE roleInfo, ref string errMsg) { try { using (HISDataEntities appEntities = new HISDataEntities()) { roleInfo.FLAG = 1; roleInfo.CREATETIME = DateTime.Now; //判断角色编码不能重复 var existRole = appEntities.SYS_ROLE.Where(o => (o.ROLENUM == roleInfo.ROLENUM || o.ROLENAME == roleInfo.ROLENAME) && o.FLAG != -1).FirstOrDefault(); if (existRole != null) { errMsg = "角色编码/名称不能重复"; return; } roleInfo.ROLENUM = CreateRoleNum(roleInfo); appEntities.SYS_ROLE.Add(roleInfo); appEntities.SaveChanges(); } } catch (Exception e) { errMsg = e.Message; } }
/// <summary> /// 获取GridTree /// </summary> /// <param name="count"></param> /// <param name="errMsg"></param> /// <returns></returns> public object GetAppMenuGridTree(ref int count, ref string errMsg) { try { List <SYS_ITEMMENU> queryList = null; using (HISDataEntities appEntities = new HISDataEntities()) { queryList = appEntities.SYS_ITEMMENU.OrderBy(o => o.ORDERINDEX).ToList(); count = queryList.Count(); if (count < 1) { return(null); } } List <Hashtable> htList = new List <Hashtable>(); var parentList = queryList.Where(o => o.ParentID == 0).OrderBy(o => o.ORDERINDEX); foreach (SYS_ITEMMENU actionItem in parentList) { Hashtable ht = InitMenuGridTreeChildren(queryList, actionItem); htList.Add(ht); } return(htList); } catch (Exception e) { errMsg = e.Message; count = 0; return(null); } }
/// <summary> /// 编辑User /// </summary> /// <param name="user"></param> /// <param name="errMsg"></param> public void EditUser(SYS_USERINFO user, ref string errMsg) { try { using (HISDataEntities appEntity = new HISDataEntities()) { var item = appEntity.SYS_USERINFO.Where(o => o.ID == user.ID).FirstOrDefault(); if (item == null) { errMsg = "无此数据"; return; } item.NAME = user.NAME; item.LoginName = user.LoginName; item.Position = user.Position; item.QQ = user.QQ; item.Tel = user.Tel; item.Email = user.Email; item.DepartmentID = user.DepartmentID; item.HeadImg = user.HeadImg; appEntity.SaveChanges(); } } catch (Exception e) { errMsg = e.Message; } }
/// <summary> /// 根据ID获取权限Model /// </summary> /// <param name="p"></param> /// <param name="errMsg"></param> /// <returns></returns> public SYS_Action GetActionByID(int actionId, ref string errMsg) { try { using (HISDataEntities appEntities = new HISDataEntities()) { SYS_Action actionItem = appEntities.SYS_Action.Where(o => o.ID == actionId && o.Flag == 1).FirstOrDefault(); if (actionItem == null) { errMsg = "查无数据"; return(null); } //根据action num 获取菜单id var appMenu = appEntities.SYS_ITEMMENU.Where(o => o.ActionNum == actionItem.ActionNum).FirstOrDefault(); if (appMenu != null) { actionItem.ActionMenu = appMenu.ID; } return(actionItem); } } catch (Exception e) { errMsg = e.Message; return(null); } }
public SYS_USERINFO ValidateLogin(SYS_USERINFO info) { using (HISDataEntities appEntitys = new HISDataEntities()) { var pwd = Common.MD5Helper.MD5Encrypt32bit(info.PASSWORD); var item = appEntitys.SYS_USERINFO.Where(p => p.LoginName == info.LoginName && p.PASSWORD == pwd).FirstOrDefault(); return(item); } }
/// <summary> /// 设置角色的权限 /// </summary> /// <param name="roleid">角色Id</param> /// <param name="p">权限Id</param> /// <param name="errMsg"></param> public void SaveRoleAction(int roleid, string[] actionIds, ref string errMsg) { try { List <SYS_ROLEACTIONMAPPING> existList = null; using (HISDataEntities appEntities = new HISDataEntities()) { existList = appEntities.SYS_ROLEACTIONMAPPING.Where(o => o.ROLEID == roleid).ToList(); //检查是否存在,存在则忽略,不存在则插入 foreach (string actionId in actionIds) { int intActionId = Convert.ToInt32(actionId); var actionItem = existList.Where(o => o.ACTIONID == intActionId).ToList(); if (actionItem != null && actionItem.Count() > 0) { continue; } //不存在的插入进数据库 SYS_ROLEACTIONMAPPING newMapping = new SYS_ROLEACTIONMAPPING(); newMapping.ROLEID = roleid; newMapping.ACTIONID = intActionId; newMapping.CREATETIME = DateTime.Now; appEntities.SYS_ROLEACTIONMAPPING.Add(newMapping); } //遍历数据库中的数据,数据库存在但是参数中没有的,需要删除 foreach (var item in existList) { if (!actionIds.Contains(item.ACTIONID.ToString())) { var deleteItem = appEntities.SYS_ROLEACTIONMAPPING.Where(o => o.ID == item.ID).FirstOrDefault(); appEntities.SYS_ROLEACTIONMAPPING.Remove(deleteItem); } } //提交所做的更改 appEntities.SaveChanges(); } } catch (Exception e) { errMsg = e.Message; } }
//递归获取所有的子权限 private List <SYS_Action> DeleteActionChildren(HISDataEntities appEntities, int actionId) { List <SYS_Action> listAction = new List <SYS_Action>(); var childrenAction = appEntities.SYS_Action.Where(o => o.ParentID == actionId); if (childrenAction.Count() > 0) { foreach (SYS_Action actionItem in childrenAction) { listAction.Add(actionItem); listAction.AddRange(DeleteActionChildren(appEntities, actionItem.ID)); actionItem.Flag = 0; actionItem.ActionNum = string.Empty; } } return(listAction); }
/// <summary> /// 添加权限 /// </summary> /// <param name="actionItem"></param> /// <param name="errMsg"></param> public void AddAction(SYS_Action actionItem, ref string errMsg) { try { string actionNum = CreateActionNum(actionItem); //创建权限 actionItem.ActionNum = actionNum; if (actionItem.ParentID == null) { actionItem.ParentID = 0; } using (HISDataEntities appEntities = new HISDataEntities()) { actionItem.CREATETIME = DateTime.Now; actionItem.Flag = 1; //新增权限名称不能重复 var findList = appEntities.SYS_Action.Where(o => o.Flag == 1 && o.ActionName == actionItem.ActionName && o.ParentID == actionItem.ParentID); if (findList.Count() > 0) { errMsg = "权限名称已经存在"; return; } if (actionItem.Type == 1) { //给菜单编写权限编码 var appMenu = appEntities.SYS_ITEMMENU.Where(o => o.ID == actionItem.ActionMenu).FirstOrDefault(); //如果菜单已被其他权限关联,则不能继续被关联 if (!string.IsNullOrEmpty(appMenu.ActionNum)) { errMsg = "菜单已被权限" + appMenu.ActionNum + "关联,请选择其他菜单"; return; } appMenu.ActionNum = actionItem.ActionNum; } appEntities.SYS_Action.Add(actionItem); appEntities.SaveChanges(); } } catch (Exception e) { errMsg = e.Message; } }
/// <summary> /// 获取分页用户角色 /// </summary> /// <param name="pageIndex">页码</param> /// <param name="pageSize">每页显示的记录数</param> /// <param name="name">用于检索的记录数</param> /// <param name="userId">用户Id</param> /// <param name="count"></param> /// <returns>返回角色列表页</returns> public List <SYS_ROLE> GetAppUserRoleList(int pageIndex, int pageSize, string name, int userId, ref int count) { try { using (HISDataEntities appEntities = new HISDataEntities()) { var query = (from a in appEntities.SYS_ROLE join b in appEntities.SYS_USERROLEMAPPING on a.ID equals b.ROLEID join c in appEntities.SYS_USERINFO on b.USERID equals c.ID where b.USERID == userId && a.FLAG == 1 select new { a }); if (query == null) { count = 0; return(null); } //筛选 query = query.Where(o => o.a.ROLENAME.Contains(name)); count = query.Count(); //分页 query = query.OrderByDescending(o => o.a.CREATETIME).Skip((pageIndex - 1) * pageSize).Take(pageSize); List <SYS_ROLE> roleList = new List <SYS_ROLE>(); foreach (var item in query) { SYS_ROLE model = new SYS_ROLE(); model.ID = item.a.ID; model.ROLENAME = item.a.ROLENAME; model.ROLENUM = item.a.ROLENUM; model.CREATETIME = item.a.CREATETIME; model.FLAG = item.a.FLAG; //model.Disc = item.a.Disc; roleList.Add(model); } return(roleList); } } catch (Exception e) { count = 0; return(null); } }
/// <summary> /// 获取角色权限 /// </summary> /// <param name="name">查询字段</param> /// <param name="roleid">角色名称</param> /// <param name="errMsg">发生错误返回结果</param> /// <param name="count">查询数据总记录数</param> /// <returns></returns> public List <Hashtable> GetAppRoleActionTreeGrid(int roleid, ref string errMsg, ref int count) { try { List <SYS_Action> queryList = null; using (HISDataEntities appEntities = new HISDataEntities()) { //查询跟该角色相关的所有权限数据 var query = (from a in appEntities.SYS_ROLEACTIONMAPPING join b in appEntities.SYS_Action on a.ACTIONID equals b.ID where a.ROLEID == roleid && b.Flag == 1 select new { b }); queryList = new List <SYS_Action>(); foreach (var item in query) { SYS_Action action = item.b; queryList.Add(action); } } List <Hashtable> list = new List <Hashtable>(); if (queryList.Count < 1) { return(list); } //生成所有数据的集合 var actionList = queryList.Where(o => o.ParentID == 0); foreach (SYS_Action actionItem in actionList) { Hashtable ht = CreateAppRoleActionTreeGrid(queryList, actionItem); list.Add(ht); } count = queryList.Count; return(list); } catch (Exception e) { errMsg = e.Message; return(new List <Hashtable>()); } }