diff --git a/IRaCIS.Core.Application/MassTransit/Consumer/SubjectVisitQCAndCheckConsumer.cs b/IRaCIS.Core.Application/MassTransit/Consumer/SubjectVisitQCAndCheckConsumer.cs index f22bef067..dffb221c9 100644 --- a/IRaCIS.Core.Application/MassTransit/Consumer/SubjectVisitQCAndCheckConsumer.cs +++ b/IRaCIS.Core.Application/MassTransit/Consumer/SubjectVisitQCAndCheckConsumer.cs @@ -439,7 +439,7 @@ public class PMRepliedCheckChallengeEventConsumer( var checkChallengeDialog = await _checkChallengeDialogRepository.Where(x => x.Id == context.Message.CheckChallengeDialogId).FirstNotNullAsync(); var subjectVisitId = context.Message.SubjectVisitId; - var subjectVisit = await _subjectVisitRepository.Where(x => x.Id == subjectVisitId).Include(x => x.Subject).FirstNotNullAsync(); + var subjectVisit = await _subjectVisitRepository.Where(x => x.Id == subjectVisitId).Include(x => x.NoneDicomStudyList).Include(x => x.StudyList).Include(x => x.Subject).FirstNotNullAsync(); var trialUser = await _trialUseRepository.Where(x => x.TrialId == subjectVisit.TrialId).Include(x => x.User).Select(x => x.User).ToListAsync(); @@ -449,24 +449,12 @@ public class PMRepliedCheckChallengeEventConsumer( var trialInfo = await _trialRepository.FirstOrDefaultAsync(t => t.Id == subjectVisit.TrialId); - string json = checkChallengeDialog.ParamInfo; + List modalities = new List(); - if (json.IsNotNullOrEmpty()) - { - List> studies = JsonConvert.DeserializeObject>>(json); - foreach (var study in studies) - { - if (study.ContainsKey("Modality")) - { - modalities.Add(study["Modality"]); - } - } - } + modalities =subjectVisit.NoneDicomStudyList.Select(t => t.Modality) + .Union(subjectVisit.StudyList.Select(k => k.ModalityForEdit)).ToList(); - modalities = modalities.Distinct().ToList(); - - - var dictionValue = await CommonEmailHelper.TranslationDictionary(new TranslationDictionaryDto() + var dictionValue = await CommonEmailHelper.TranslationDictionary(new TranslationDictionaryDto() { DictionaryRepository = _dictionaryRepository,