| | |
| | | public class DictionaryCategoriesQueryHandler( |
| | | IRepository<DictionaryCategory> rep |
| | | ) : IRequestHandler<GetDictionaryCategoriesQuery, PagedListQueryResult<GetDictionaryCategoriesQueryResultItem>>, |
| | | IRequestHandler<GetDictionaryCategorySelectQuery, List<SelectQueryResultItem<Guid>>> |
| | | IRequestHandler<GetDictionaryCategorySelectQuery, List<SelectQueryResultOption<Guid, GetDictionaryCategorySelectQueryOption>>> |
| | | { |
| | | private readonly IRepository<DictionaryCategory> rep = rep; |
| | | |
| | |
| | | /// <returns></returns> |
| | | public Task<PagedListQueryResult<GetDictionaryCategoriesQueryResultItem>> Handle(GetDictionaryCategoriesQuery request, CancellationToken cancellationToken) |
| | | { |
| | | return request.PageModel.ToPagedListAsync<DictionaryCategory, GetDictionaryCategoriesQueryResultItem>( |
| | | return request.PageModel.GetPagedListAsync<DictionaryCategory, GetDictionaryCategoriesQueryResultItem>( |
| | | q => |
| | | { |
| | | q = q.OrderBy(it => it.Sort).ThenBy(it => it.CreatedTime); |
| | | if (request.Keywords.IsNotNull()) |
| | | { |
| | | q = q.Where(it => |
| | |
| | | /// <param name="request"></param> |
| | | /// <param name="cancellationToken"></param> |
| | | /// <returns></returns> |
| | | public Task<List<SelectQueryResultItem<Guid>>> Handle(GetDictionaryCategorySelectQuery request, CancellationToken cancellationToken) |
| | | public Task<List<SelectQueryResultOption<Guid, GetDictionaryCategorySelectQueryOption>>> Handle(GetDictionaryCategorySelectQuery request, CancellationToken cancellationToken) |
| | | { |
| | | var items = rep.AsQueryable().AsNoTracking() |
| | | .Select(it => new SelectQueryResultItem<Guid> |
| | | { |
| | | Value = it.Id, |
| | | Label = it.Name, |
| | | Data = new |
| | | { |
| | | it.Id, |
| | | it.Name, |
| | | it.Remark, |
| | | it.FieldNames |
| | | } |
| | | }) |
| | | .ToListAsync(cancellationToken); |
| | | return items; |
| | | return request.GetSelect<DictionaryCategory, Guid, GetDictionaryCategorySelectQueryOption>( |
| | | it => it.Id, |
| | | it => it.Name, |
| | | null, |
| | | cancellationToken); |
| | | } |
| | | } |
| | | } |