diff --git a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs index 7dc1bfd24..109779bd1 100644 --- a/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs +++ b/IRaCIS.Core.Application/Service/Allocation/VisitTaskService.cs @@ -26,6 +26,7 @@ using IRaCIS.Application.Services.BackGroundJob; using Magicodes.ExporterAndImporter.Core.Extension; using Hangfire; using MassTransit; +using static IRaCIS.Core.Domain.Models.ReadingQuestionTrial; namespace IRaCIS.Core.Application.Service.Allocation { @@ -226,6 +227,8 @@ namespace IRaCIS.Core.Application.Service.Allocation public async Task>> GetPIReadingAuditList(VisitTaskQuery queryVisitTask) { + CriterionType? criterionType = _trialReadingCriterionRepository.Where(t => t.Id == queryVisitTask.TrialReadingCriterionId).Select(t=>t.CriterionType).FirstOrDefault(); + var visitTaskQueryable = GetReadingTaskQueryable(queryVisitTask) .ProjectTo(_mapper.ConfigurationProvider); @@ -236,7 +239,9 @@ namespace IRaCIS.Core.Application.Service.Allocation var trialTaskConfig = _trialRepository.Where(t => t.Id == queryVisitTask.TrialId).ProjectTo(_mapper.ConfigurationProvider).FirstOrDefault(); var questionList = _readingQuestionTrialRepository.Where(t => t.TrialId == queryVisitTask.TrialId && t.ReadingQuestionCriterionTrialId == queryVisitTask.TrialReadingCriterionId) - .Where(t => t.IsJudgeQuestion == true) + //.Where(t => t.IsJudgeQuestion == true) + .WhereIf(criterionType!=null&& criterionType!=CriterionType.SelfDefine,t=>t.IsJudgeQuestion==true) + .WhereIf(criterionType != null && criterionType == CriterionType.SelfDefine, t => t.AssessmentResultEnum == AssessmentResultType.AssessmentResult) .Select(t => new { QuestionId = t.Id, QuestionName = _userInfo.IsEn_Us ? t.QuestionEnName : t.QuestionName ,t.DictionaryCode}).ToList(); trialTaskConfig!.OtherObj = questionList; diff --git a/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs b/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs index fa4e39cf7..905d6503a 100644 --- a/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/Allocation/_MapConfig.cs @@ -4,6 +4,7 @@ using IRaCIS.Core.Application.Contracts; using IRaCIS.Core.Application.ViewModel; using IRaCIS.Core.Domain.Models; using IRaCIS.Core.Domain.Share; +using static IRaCIS.Core.Domain.Models.ReadingQuestionTrial; namespace IRaCIS.Core.Application.Service { @@ -83,7 +84,8 @@ namespace IRaCIS.Core.Application.Service CreateMap().IncludeBase() .ForMember(t=>t.PIReadingResultList,u=>u.MapFrom(c=>c.ReadingTaskQuestionAnswerList - .Where(t=>t.ReadingQuestionTrial.IsJudgeQuestion==true ).Select(d=>new PIReadingResult() { QuestionId= d.ReadingQuestionTrialId,Answer=d.Answer}))); + .Where(t=> t.ReadingQuestionCriterionTrial.CriterionType==CriterionType.SelfDefine? t.ReadingQuestionTrial.AssessmentResultEnum == AssessmentResultType.AssessmentResult: t.ReadingQuestionTrial.IsJudgeQuestion==true) + .Select(d=>new PIReadingResult() { QuestionId= d.ReadingQuestionTrialId,Answer=d.Answer}))); CreateMap().IncludeBase() .ForMember(o => o.FirstAuditUserName, t => t.MapFrom(u => u.FirstAuditUser.UserName)) diff --git a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskQuestionAnswer.cs b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskQuestionAnswer.cs index ccc45dda0..c60afbc26 100644 --- a/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskQuestionAnswer.cs +++ b/IRaCIS.Core.Domain/Reading/ReadingFormAnswer/ReadingTaskQuestionAnswer.cs @@ -74,7 +74,9 @@ namespace IRaCIS.Core.Domain.Models public ReadingQuestionTrial ReadingQuestionTrial { get; set; } - + [JsonIgnore] + [ForeignKey("ReadingQuestionCriterionTrialId")] + public ReadingQuestionCriterionTrial ReadingQuestionCriterionTrial { get; set; } }