diff --git a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs index 6330be83d..c92ff203c 100644 --- a/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs +++ b/IRaCIS.Core.Application/Service/Reading/MedicalAudit/ReadingMedicineQuestionService.cs @@ -637,6 +637,18 @@ namespace IRaCIS.Core.Application.Service { throw new BusinessValidationFailedException(_localizer["ReadingMed_NoOncologyQ"]); } + if (!criterionInfo.IsReadingPeriod && (await _readingMedicineTrialQuestionRepository.AnyAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.ReadingCategory == ReadingCategory.Global))) + { + throw new BusinessValidationFailedException(_localizer["ReadingMed_HaveGlobalQ"]); + } + if (!criterionInfo.IsArbitrationReading && (await _readingMedicineTrialQuestionRepository.AnyAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.ReadingCategory == ReadingCategory.Judge))) + { + throw new BusinessValidationFailedException(_localizer["ReadingMed_HaveJudgeQ"]); + } + if (!criterionInfo.IsOncologyReading && (await _readingMedicineTrialQuestionRepository.AnyAsync(x => x.TrialReadingCriterionId == inDto.TrialReadingCriterionId && x.ReadingCategory == ReadingCategory.Oncology))) + { + throw new BusinessValidationFailedException(_localizer["ReadingMed_HaveOncologyQ"]); + } } ///