@@ -836,15 +836,27 @@ namespace IRaCIS.Core.Application.Service
|
||||
{
|
||||
|
||||
var readModuleQueryable = _readModuleRepository
|
||||
.Where(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId)
|
||||
.WhereIf(inDto.ReadModuleAddTypeEnum != null, x => x.ReadModuleAddTypeEnum == inDto.ReadModuleAddTypeEnum)
|
||||
.WhereIf(inDto.ReadingSetType != null, x => x.ReadingSetType == inDto.ReadingSetType)
|
||||
.WhereIf(inDto.SubjectCode.IsNotNullOrEmpty(), x => x.Subject.Code.Contains(inDto.SubjectCode))
|
||||
.WhereIf(inDto.VisitName.IsNotNullOrEmpty(), x => x.SubjectVisit.VisitName.Contains(inDto.VisitName))
|
||||
.ProjectTo<GetReadModulePageListOutDto>(_mapper.ConfigurationProvider);
|
||||
.Where(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId)
|
||||
.WhereIf(inDto.ReadModuleAddTypeEnum != null, x => x.ReadModuleAddTypeEnum == inDto.ReadModuleAddTypeEnum)
|
||||
.WhereIf(inDto.ReadingSetType != null, x => x.ReadingSetType == inDto.ReadingSetType)
|
||||
.WhereIf(inDto.SubjectCode.IsNotNullOrEmpty(), x => x.Subject.Code.Contains(inDto.SubjectCode))
|
||||
.WhereIf(inDto.VisitName.IsNotNullOrEmpty(), x => x.SubjectVisit.VisitName.Contains(inDto.VisitName))
|
||||
.ProjectTo<GetReadModulePageListOutDto>(_mapper.ConfigurationProvider);
|
||||
|
||||
|
||||
var pageList = await readModuleQueryable.ToPagedListAsync(inDto);
|
||||
|
||||
var ids = pageList.CurrentPageData.Select(x => x.Id as Guid?).ToList();
|
||||
|
||||
|
||||
var taskList=await _visitTaskRepository.Where(x => ids.Contains(x.SouceReadModuleId)).ToListAsync();
|
||||
|
||||
pageList.CurrentPageData.ForEach(x =>
|
||||
{
|
||||
|
||||
x.IsGenerateTask= taskList.Any(t => t.SouceReadModuleId == x.Id);
|
||||
x.GenerateTaskTime= taskList.Where(t => t.SouceReadModuleId == x.Id).OrderByDescending(t => t.CreateTime).Select(t => t.CreateTime).FirstOrDefault();
|
||||
|
||||
});
|
||||
return pageList;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user