| | |
| | | IRepository<EnterpriseEmployee> rep |
| | | ) : |
| | | IRequestHandler<GetEnterpriseEmployeesQuery, GetEnterpriseEmployeesQueryResult>, |
| | | IRequestHandler<GetEnterpriseEmployeeQuery, GetEnterpriseEmployeeQueryResult> |
| | | IRequestHandler<GetEnterpriseEmployeeQuery, GetEnterpriseEmployeeQueryResult>, |
| | | IRequestHandler<GetEnterpriseEmployeeElectronSignsQuery, GetEnterpriseEmployeeElectronSignsQueryResult> |
| | | { |
| | | private readonly IRepository<EnterpriseEmployee> rep = rep; |
| | | |
| | |
| | | |
| | | return model; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 查询个人用户签约列表 |
| | | /// </summary> |
| | | /// <param name="request"></param> |
| | | /// <param name="cancellationToken"></param> |
| | | /// <returns></returns> |
| | | public async Task<GetEnterpriseEmployeeElectronSignsQueryResult> Handle(GetEnterpriseEmployeeElectronSignsQuery request, CancellationToken cancellationToken) |
| | | { |
| | | var logier = JwtUtils.GetCurrentLogier(); |
| | | var q = rep.AsQueryable().AsNoTracking() |
| | | .Where(it => it.UserId == logier.Id); |
| | | if (request.UserSignContractStatus.HasValue) |
| | | { |
| | | q = q.Where(it => it.UserSignContractStatus == request.UserSignContractStatus.Value); |
| | | } |
| | | else |
| | | { |
| | | q = q.Where(it => |
| | | it.UserSignContractStatus == EnumTaskUserSignContractStatus.Wait |
| | | || it.UserSignContractStatus == EnumTaskUserSignContractStatus.Effect |
| | | || it.UserSignContractStatus == EnumTaskUserSignContractStatus.Stop); |
| | | } |
| | | var s = q.Select(it => new GetEnterpriseEmployeeElectronSignsQueryResultItem |
| | | { |
| | | Id = it.Id, |
| | | EnterpriseName = it.Enterprise.EnterpriseName, |
| | | UserSignContractStatus = it.UserSignContractStatus, |
| | | }); |
| | | return await request.PageModel.GetPagedListAsync<GetEnterpriseEmployeeElectronSignsQueryResult, GetEnterpriseEmployeeElectronSignsQueryResultItem>(s, cancellationToken); |
| | | } |
| | | } |
| | | } |