using FlexJobApi.Core;
using Furion.DatabaseAccessor;
using Furion.FriendlyException;
using Mapster;
using MediatR;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace FlexJobApi.Application
{
///
/// 任务查询处理器
///
public class TaskInfoQueryHandler(
IRepository rep
) :
IRequestHandler,
IRequestHandler>
{
private readonly IRepository rep = rep;
///
/// 查询任务详情
///
///
///
///
public Task Handle(GetTaskInfoQuery request, CancellationToken cancellationToken)
{
return TaskInfoRepository.GetQueryable(rep)
.Where(it => it.Id == request.Id)
.ProjectToType()
.FirstOrDefaultAsync(cancellationToken);
}
///
/// 查询任务分页列表
///
///
///
///
public Task> Handle(GetTaskInfosQuery request, CancellationToken cancellationToken)
{
return request.PageModel.GetPagedListAsync(
q =>
{
q = TaskInfoRepository.GetQueryable(rep);
return q;
});
}
}
}