| | |
| | | /// 查询角色分页列表 |
| | | /// </summary> |
| | | /// <param name="repRole"></param> |
| | | /// <param name="repUserInfoRole"></param> |
| | | public class GetRolesQueryHandler( |
| | | IRepository<Role> repRole, |
| | | IRepository<UserInfoRole> repUserInfoRole |
| | |
| | | /// <inheritdoc/> |
| | | public async Task<PagedListQueryResult<GetRolesQueryResultItem>> Handle(GetRolesQuery request, CancellationToken cancellationToken) |
| | | { |
| | | var q = repRole.AsQueryable().AsNoTracking(); |
| | | if (request.UserType.HasValue) |
| | | { |
| | | q = q.Where(it => it.UserType == request.UserType); |
| | | } |
| | | if (request.ClientType.HasValue) |
| | | { |
| | | q = q.Where(it => it.ClientType == request.ClientType); |
| | | } |
| | | if (request.Keywords.IsNotNull()) |
| | | { |
| | | q = q.Where(it => it.Name.Contains(request.Keywords) || it.Remark.Contains(request.Keywords)); |
| | | } |
| | | var result = await q |
| | | .ProjectToType<GetRolesQueryResultItem>() |
| | | .ToPagedListAsync(request.PageModel, cancellationToken); |
| | | var result = await request.PageModel.GetPagedListAsync<Role, GetRolesQueryResultItem>( |
| | | q => |
| | | { |
| | | q = q.OrderBy(it => it.Sort).ThenBy(it => it.CreatedTime); |
| | | if (request.UserType.HasValue) |
| | | { |
| | | q = q.Where(it => it.UserType == request.UserType); |
| | | } |
| | | if (request.ClientType.HasValue) |
| | | { |
| | | q = q.Where(it => it.ClientType == request.ClientType); |
| | | } |
| | | if (request.Keywords.IsNotNull()) |
| | | { |
| | | q = q.Where(it => it.Name.Contains(request.Keywords) || it.Remark.Contains(request.Keywords)); |
| | | } |
| | | return q; |
| | | }, cancellationToken: cancellationToken); |
| | | |
| | | if (result.Data.Any()) |
| | | { |