/// <summary> /// 角色列表(分页) /// </summary> /// <param name="request"></param> /// <returns></returns> public ServiceResult <PagingResult <GetPagingRolesResponse> > GetPagingRoles(GetPagingRolesRequest request) { var result = new ServiceResult <PagingResult <GetPagingRolesResponse> > { ReturnCode = ReturnCodeType.Error, Content = new PagingResult <GetPagingRolesResponse>() }; var rs = _roleDao.GetPagingRoles(request); result.ReturnCode = ReturnCodeType.Success; result.Content = rs; return(result); }
/// <summary> /// 角色列表(分页) /// </summary> /// <param name="request"></param> /// <param name="page"></param> /// <param name="rows"></param> /// <returns></returns> public ActionResult GetPagingRoles(GetPagingRolesRequest request, int page, int rows) { var result = string.Empty; if (request == null) { request = new GetPagingRolesRequest(); } request.PageIndex = page; request.PageSize = rows; var rs = _roleService.GetPagingRoles(request); if (rs.ReturnCode == ReturnCodeType.Success) { result = "{\"total\": " + rs.Content.TotalCount + ",\"rows\":" + rs.Content.Entities.ToJson(dateTimeFormat: DateTimeTypeConst.DATETIME) + "}"; } return(Content(result)); }
/// <summary> /// 角色列表(分页) /// </summary> /// <param name="request"></param> /// <param name="page"></param> /// <param name="rows"></param> /// <returns></returns> public ActionResult GetPagingRoles(GetPagingRolesRequest request, int page, int rows) { var result = string.Empty; if (request == null) { request = new GetPagingRolesRequest(); } request.PageIndex = page; request.PageSize = rows; using (var factory = new ChannelFactory <IRightsRoleService>("*")) { var client = factory.CreateChannel(); var rs = client.GetPagingRoles(request); if (rs.ReturnCode == ReturnCodeType.Success) { result = "{\"total\": " + rs.Content.TotalCount + ",\"rows\":" + rs.Content.Entities.ToJson(dateTimeFormat: DateTimeTypeConst.DATETIME) + "}"; } } return(Content(result)); }
/// <summary> /// 角色列表(分页) /// </summary> /// <param name="request"></param> /// <returns></returns> public PagingResult <GetPagingRolesResponse> GetPagingRoles(GetPagingRolesRequest request) { PagingResult <GetPagingRolesResponse> result = null; List <int> orgIds = null; var totalCount = 0; var startIndex = (request.PageIndex - 1) * request.PageSize + 1; var endIndex = request.PageIndex * request.PageSize; //默认获取所有角色(不跟机构关联) if (request.OrgId == 0) { using (var conn = DapperHelper.CreateConnection()) { var multi = conn.QueryMultiple(@"--获取所有角色并分页 SELECT rs.* FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY r.created_time DESC ) AS RowNum , r.id, r.name, r.description, r.organization_id AS OrgId , r.created_by AS CreatedBy , r.created_time AS CreatedTime , r.last_updated_by AS LastUpdatedBy , r.last_updated_time AS LastUpdatedTime , org.name AS OrgName FROM dbo.t_rights_role AS r LEFT JOIN dbo.t_rights_organization AS org ON r.organization_id= org.id ) AS rs WHERE rs.RowNum BETWEEN @Start AND @End; --获取所有角色total SELECT COUNT(DISTINCT r.id) FROM dbo.t_rights_role AS r;", new { @Start = startIndex, @End = endIndex }); var query1 = multi.Read <GetPagingRolesResponse>(); var query2 = multi.Read <int>(); totalCount = query2.First(); result = new PagingResult <GetPagingRolesResponse>(totalCount, request.PageIndex, request.PageSize, query1); } } else { var childrenOrgs = new RightsOrganizationDao().GetChildrenOrgs(request.OrgId); if (childrenOrgs.HasValue()) { orgIds = childrenOrgs.DistinctBy(p => p.Id).OrderBy(p => p.Id).Select(p => p.Id).ToList(); } using (var conn = DapperHelper.CreateConnection()) { var multi = conn.QueryMultiple(@"--获取指定机构(包括所有子机构)的角色并分页 SELECT rs.* FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY r.created_time DESC ) AS RowNum , r.id, r.name, r.description, r.organization_id AS OrgId , r.created_by AS CreatedBy , r.created_time AS CreatedTime , r.last_updated_by AS LastUpdatedBy , r.last_updated_time AS LastUpdatedTime , org.name AS OrgName FROM dbo.t_rights_role AS r LEFT JOIN dbo.t_rights_organization AS org ON r.organization_id= org.id WHERE r.organization_id IN @OrgIds ) AS rs WHERE rs.RowNum BETWEEN @Start AND @End; --获取指定机构(包括所有子机构)的角色total SELECT COUNT(DISTINCT r.id) FROM dbo.t_rights_role AS r WHERE r.organization_id IN @OrgIds;", new { @OrgIds = orgIds, @Start = startIndex, @End = endIndex }); var query1 = multi.Read <GetPagingRolesResponse>(); var query2 = multi.Read <int>(); totalCount = query2.First(); result = new PagingResult <GetPagingRolesResponse>(totalCount, request.PageIndex, request.PageSize, query1); } } return(result); }