/// <summary> /// 获取角色所分配的用户组 /// </summary> /// <param name="RoleId"></param> /// <returns></returns> public MessageModel GetRoleUserGroupList(string RoleId, string page, string limit, string searchstr) { var messageModel = new MessageModel(); var PageModel = new PageModel(); var urRelateds = sysUrRelatedDAL.SqlQuery <SysUgrRelated>($"SELECT * FROM Sys_UgrRelated WHERE RoleId='{RoleId}'").ToList(); Expression <Func <SysUserGroup, bool> > expression = t => (string.IsNullOrEmpty(searchstr) || t.UserGroupName.Contains(searchstr)) && t.DeleteSign.Equals((int)SysEnum.Enum_DeleteSign.Sing_Deleted) && urRelateds.Any(x => x.UserGroupId == t.UserGroupId); PageModel.RowCount = sysUserGroupDAL.GetCount(expression); int iBeginRow = Convert.ToInt32(limit) * (Convert.ToInt32(page) - 1), iEndRow = Convert.ToInt32(page) * Convert.ToInt32(limit); var list = sysUserDAL.SqlQuery <SysUserGroupDto>($@" SELECT T1.* FROM Sys_UserGroup T1 WHERE T1.UserGroupName LIKE '%{searchstr}%' AND T1.DeleteSign = 1 AND T1.UserGroupId IN('{String.Join("','", urRelateds.Count == 0 ? new List<string>() : urRelateds.Select(t => t.UserGroupId))}') ORDER BY T1.CREATETIME limit {iBeginRow},{limit} "); PageModel.Data = list; messageModel.Data = PageModel; return(messageModel); }
/// <summary> /// 获取角色所分配的用户组 /// </summary> /// <param name="roleId"></param> /// <returns></returns> public HandleResult <PageModel> GetRoleUserGroupList(string roleId, string page, string limit, string searchstr) { var handleResult = new HandleResult <PageModel>(); var PageModel = new PageModel(); var urRelateds = sysUgrRelatedDAL.GetModels(t => t.RoleId.Equals(roleId)); Expression <Func <SysUserGroup, bool> > expression = t => (string.IsNullOrEmpty(searchstr) || t.UserGroupName.Contains(searchstr)) && t.DeleteSign.Equals((int)DeleteSign.Sing_Deleted) && urRelateds.Any(x => x.UserGroupId == t.UserGroupId); PageModel.RowCount = sysUserGroupDAL.GetCount(expression); var list = sysUserGroupDAL.GetModelsByPage(Convert.ToInt32(limit), Convert.ToInt32(page), false, t => t.CreateTime, expression); PageModel.Data = Mapper.Map <List <SysUserGroupDto> >(list); handleResult.Data = PageModel; return(handleResult); }
/// <summary> /// 获取用户组列表 /// </summary> /// <param name="page">第几页</param> /// <param name="limit">页容量</param> /// <param name="searchstr">搜索内容</param> /// <returns></returns> public MessageModel GetUserGroupList(string page, string limit, string searchstr) { var messageModel = new MessageModel(); var pageModel = new PageModel(); Expression <Func <SysUserGroup, bool> > expression = t => (string.IsNullOrEmpty(searchstr) || t.UserGroupName.Contains(searchstr)) && t.DeleteSign.Equals((int)SysEnum.Enum_DeleteSign.Sing_Deleted); pageModel.RowCount = userGroupDAL.GetCount(expression); int iBeginRow = Convert.ToInt32(limit) * (Convert.ToInt32(page) - 1), iEndRow = Convert.ToInt32(page) * Convert.ToInt32(limit); var list = userGroupDAL.SqlQuery <SysUserGroupDto>($@"SELECT T1.UserGroupId, T1.UserGroupName, T1.ParentUserGroupId, T2.UserGroupName ParentUserGroupName, T1.CreateTime, T1.Note FROM Sys_UserGroup T1 LEFT JOIN Sys_UserGroup T2 ON T1.ParentUserGroupId=T2.UserGroupId WHERE (T1.UserGroupName LIKE '%{searchstr}%' OR T2.UserGroupName LIKE '%{searchstr}%') AND T1.DeleteSign=1 order by T1.CREATETIME limit {iBeginRow} , {limit} "); pageModel.Data = list; messageModel.Data = pageModel; return(messageModel); }