@@ -60,6 +60,8 @@ namespace IRaCIS.Core.Application.Contracts
|
||||
|
||||
public string[]? VisitPlanArray { get; set; }
|
||||
public bool? IsSubjectQuit { get; set; }
|
||||
|
||||
public SubjectStatus? SubjectStatus { get; set; }
|
||||
}
|
||||
|
||||
public class GetNextQCInfoInDto
|
||||
@@ -98,6 +100,8 @@ namespace IRaCIS.Core.Application.Contracts
|
||||
|
||||
public DateTime? EndAuditTime { get; set; }
|
||||
|
||||
public SubjectStatus? SubjectStatus { get; set; }
|
||||
|
||||
public bool? IsSubjectQuit { get; set; }
|
||||
}
|
||||
|
||||
|
||||
@@ -85,6 +85,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||
var svExpression = QCCommon.GetSubjectVisitFilter(inQuery.VisitPlanArray);
|
||||
|
||||
var query = _subjectVisitRepository.Where(x => x.TrialId == inQuery.TrialId)
|
||||
.WhereIf(inQuery.SubjectStatus != null, t => t.Subject.Status == inQuery.SubjectStatus)
|
||||
.Where(t => !(t.Subject.Status == SubjectStatus.EndOfVisit && t.SubmitState == SubmitStateEnum.None && !t.Subject.SubjectVisitList.Any(c => c.VisitNum > t.VisitNum && c.SubmitState > SubmitStateEnum.None)))
|
||||
.Where(t => t.Subject.FinalSubjectVisitId != null ? t.VisitNum <= t.Subject.FinalSubjectVisit.VisitNum : true)
|
||||
.WhereIf(inQuery.TrialSiteId != null, t => t.TrialSiteId == inQuery.TrialSiteId)
|
||||
@@ -280,6 +281,7 @@ namespace IRaCIS.Core.Application.Image.QA
|
||||
.WhereIf(inQuery.ChallengeState != null, t => t.ChallengeState == inQuery.ChallengeState)
|
||||
.WhereIf(inQuery.TrialSiteId != null, t => t.TrialSiteId == inQuery.TrialSiteId)
|
||||
.WhereIf(inQuery.SubjectId != null, t => t.Subject.Id == inQuery.SubjectId)
|
||||
.WhereIf(inQuery.SubjectStatus != null, t => t.Subject.Status == inQuery.SubjectStatus)
|
||||
.WhereIf(inQuery.IsSubjectQuit != null, t => t.Subject.IsSubjectQuit == inQuery.IsSubjectQuit)
|
||||
.WhereIf(!string.IsNullOrEmpty(inQuery.SubjectInfo), t => /*t.Subject.FirstName.Contains(subjectInfo) || t.Subject.LastName.Contains(subjectInfo) ||*/ t.Subject.Code.Contains(inQuery.SubjectInfo))
|
||||
.WhereIf(inQuery.VisitPlanArray != null && inQuery.VisitPlanArray?.Length > 0, svExpression)
|
||||
|
||||
Reference in New Issue
Block a user