| | |
| | | public class EnterpriseEmployeeQueryHandler( |
| | | IRepository<EnterpriseEmployee> rep |
| | | ) : |
| | | IRequestHandler<GetEnterpriseEmployeesQuery, GetEnterpriseEmployeesQueryResult> |
| | | IRequestHandler<GetEnterpriseEmployeesQuery, GetEnterpriseEmployeesQueryResult>, |
| | | IRequestHandler<GetEnterpriseEmployeeQuery, GetEnterpriseEmployeeQueryResult> |
| | | { |
| | | private readonly IRepository<EnterpriseEmployee> rep = rep; |
| | | |
| | |
| | | }); |
| | | return await request.PageModel.GetPagedListAsync<GetEnterpriseEmployeesQueryResult, GetEnterpriseEmployeesQueryResultItem>(s, cancellationToken); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 查询灵工详情 |
| | | /// </summary> |
| | | /// <param name="request"></param> |
| | | /// <param name="cancellationToken"></param> |
| | | /// <returns></returns> |
| | | public async Task<GetEnterpriseEmployeeQueryResult> Handle(GetEnterpriseEmployeeQuery request, CancellationToken cancellationToken) |
| | | { |
| | | var logier = JwtUtils.GetCurrentLogier(); |
| | | var model = await rep.AsQueryable().AsNoTracking() |
| | | .Where(it => it.Id == request.Id) |
| | | .GetDetail<EnterpriseEmployee, GetEnterpriseEmployeeQueryResult>(cancellationToken); |
| | | if (request.TaskInfoId.HasValue) |
| | | { |
| | | model.ApplyTime = await rep.Change<TaskInfoUser>().AsQueryable().AsNoTracking() |
| | | .Where(it => it.TaskInfoId == request.TaskInfoId && it.EnterpriseEmployeeId == request.Id) |
| | | .Select(it => it.CreatedTime as DateTimeOffset?) |
| | | .FirstOrDefaultAsync(cancellationToken); |
| | | } |
| | | else if (logier.Type == EnumUserType.Enterprise) |
| | | { |
| | | model.ApplyTime = await rep.Change<TaskInfoUser>().AsQueryable().AsNoTracking() |
| | | .OrderBy(it => it.CreatedTime) |
| | | .Where(it => it.TaskInfo.EnterpriseId == logier.EnterpriseId && it.EnterpriseEmployeeId == request.Id) |
| | | .Select(it => it.CreatedTime as DateTimeOffset?) |
| | | .FirstOrDefaultAsync(cancellationToken); |
| | | } |
| | | |
| | | return model; |
| | | } |
| | | } |
| | | } |