diff --git a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs index b98d477e..8065d1c3 100644 --- a/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs +++ b/IRaCIS.Core.Application/Service/QC/DTO/QCListViewModel.cs @@ -31,6 +31,8 @@ namespace IRaCIS.Core.Application.Contracts public AuditStateEnum[]? AuditStateArray { get; set; } + public ChallengeStateEnum? ChallengeState { get; set; } + public bool? IsUrgent { get; set; } public Guid TrialId { get; set; } public Guid? SiteId { get; set; } @@ -161,6 +163,8 @@ namespace IRaCIS.Core.Application.Contracts //public string VisitPlanInfo { get; set; } = String.Empty; public string SubjectCode { get; set; } = String.Empty; public QCChanllengeReuploadEnum? ReuploadEnum { get; set; } + + public ChallengeStateEnum? ChallengeState { get; set; } public bool? IsUrgent { get; set; } public Guid? SubjectId { get; set; } public Guid? SiteId { get; set; } diff --git a/IRaCIS.Core.Application/Service/QC/QCListService.cs b/IRaCIS.Core.Application/Service/QC/QCListService.cs index 17e11c89..9475a525 100644 --- a/IRaCIS.Core.Application/Service/QC/QCListService.cs +++ b/IRaCIS.Core.Application/Service/QC/QCListService.cs @@ -165,6 +165,7 @@ namespace IRaCIS.Core.Application.Image.QA var svExpression = GetQCChallengeFilter(challengeQuery.VisitPlanArray); var query2 = _repository.Where(x => x.TrialId == challengeQuery.TrialId) + .WhereIf(challengeQuery.ChallengeState != null, t => t.SubjectVisit.ChallengeState == challengeQuery.ChallengeState) .WhereIf(challengeQuery.ReuploadEnum != null, t => t.ReuploadEnum == challengeQuery.ReuploadEnum) .WhereIf(challengeQuery.IsClosed != null, t => t.IsClosed == challengeQuery.IsClosed) .WhereIf(challengeQuery.SiteId != null, t => t.SubjectVisit.SiteId == challengeQuery.SiteId) @@ -254,6 +255,7 @@ namespace IRaCIS.Core.Application.Image.QA var svExpression = GetQCChallengeFilter(challengeQuery.VisitPlanArray); var query = _repository.Where(x => x.TrialId == challengeQuery.TrialId) + .WhereIf(challengeQuery.ChallengeState != null, t => t.SubjectVisit.ChallengeState == challengeQuery.ChallengeState) .WhereIf(challengeQuery.ReuploadEnum != null, t => t.ReuploadEnum == challengeQuery.ReuploadEnum) .WhereIf(challengeQuery.IsClosed != null, t => t.IsClosed == challengeQuery.IsClosed) .WhereIf(challengeQuery.SiteId != null, t => t.SubjectVisit.SiteId == challengeQuery.SiteId) @@ -441,6 +443,7 @@ namespace IRaCIS.Core.Application.Image.QA var svExpression = GetSubjectVisitFilter(visitSearchDTO.VisitPlanArray); var query = _subjectVisitRepository.Where(x => x.TrialId == visitSearchDTO.TrialId) + .WhereIf(visitSearchDTO.ChallengeState != null, t => t.ChallengeState == visitSearchDTO.ChallengeState) .WhereIf(visitSearchDTO.SiteId != null, t => t.SiteId == visitSearchDTO.SiteId) .WhereIf(visitSearchDTO.SubjectId != null, t => t.Subject.Id == visitSearchDTO.SubjectId) .WhereIf(!string.IsNullOrEmpty(visitSearchDTO.SubjectInfo), t => /*t.Subject.FirstName.Contains(subjectInfo) || t.Subject.LastName.Contains(subjectInfo) ||*/ t.Subject.Code.Contains(visitSearchDTO.SubjectInfo))