| | |
| | | using FlexJobApi.Core; |
| | | using Furion.DatabaseAccessor; |
| | | using Furion.FriendlyException; |
| | | using Mapster; |
| | | using MediatR; |
| | | using Microsoft.EntityFrameworkCore; |
| | |
| | | /// </summary> |
| | | public class TaskInfoQueryHandler( |
| | | IRepository<TaskInfo> rep |
| | | ) |
| | | : IRequestHandler<GetTaskInfoQuery, GetTaskInfoQueryResult> |
| | | ) : |
| | | IRequestHandler<GetTaskInfoQuery, GetTaskInfoQueryResult>, |
| | | IRequestHandler<GetTaskInfosQuery, PagedListQueryResult<GetTaskInfosQueryResultItem>> |
| | | |
| | | { |
| | | private readonly IRepository<TaskInfo> rep = rep; |
| | | |
| | |
| | | /// <returns></returns> |
| | | public Task<GetTaskInfoQueryResult> Handle(GetTaskInfoQuery request, CancellationToken cancellationToken) |
| | | { |
| | | return TaskInfoQueryable.GetQueryable(rep, q => q.Where(it => it.Id == request.Id)) |
| | | return TaskInfoRepository.GetQueryable(rep) |
| | | .Where(it => it.Id == request.Id) |
| | | .ProjectToType<GetTaskInfoQueryResult>() |
| | | .FirstOrDefaultAsync(cancellationToken); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 查询任务分页列表 |
| | | /// </summary> |
| | | /// <param name="request"></param> |
| | | /// <param name="cancellationToken"></param> |
| | | /// <returns></returns> |
| | | public Task<PagedListQueryResult<GetTaskInfosQueryResultItem>> Handle(GetTaskInfosQuery request, CancellationToken cancellationToken) |
| | | { |
| | | return request.PageModel.GetPagedListAsync<TaskInfo, GetTaskInfosQueryResultItem>( |
| | | q => |
| | | { |
| | | q = TaskInfoRepository.GetQueryable(rep); |
| | | return q; |
| | | }); |
| | | } |
| | | } |
| | | } |