diff --git a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs index 8efc4c037..ffe6ec8b0 100644 --- a/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs +++ b/IRaCIS.Core.Application/Service/Visit/SubjectVisitService.cs @@ -330,8 +330,8 @@ namespace IRaCIS.Core.Application.Services var tag = await _readingCustomTagRepository.Where(x => x.VisitTaskId == indto.VisitTaskId && x.StudyId != null).Select(x => new { - ShowOrder= 0, - RowIndex= 0m, + ShowOrder = 0, + RowIndex = 0m, x.SeriesId, x.StudyId, x.InstanceId, @@ -447,23 +447,23 @@ namespace IRaCIS.Core.Application.Services var studyList = await _repository.Where(t => t.TrialId == indto.TrialId && t.SubjectVisitId == indto.SujectVisitId) .Select(k => new VisitStudyDTO() - { - InstanceCount = k.InstanceCount, - Modalities = k.Modalities, - SeriesCount = k.SeriesCount, - StudyCode = k.StudyCode, - StudyId = k.Id, + { + InstanceCount = k.InstanceCount, + Modalities = k.Modalities, + SeriesCount = k.SeriesCount, + StudyCode = k.StudyCode, + StudyId = k.Id, - }).ToListAsync(); + }).ToListAsync(); var studyIds = studyList.Select(t => t.StudyId).ToList(); var instanceList = await _repository.Where(t => studyIds.Contains(t.StudyId)) - .Select(t => new { t.SeriesId, t.Id, t.InstanceNumber, t.Path, t.NumberOfFrames,t.WindowCenter,t.WindowWidth }).ToListAsync(); + .Select(t => new { t.SeriesId, t.Id, t.InstanceNumber, t.Path, t.NumberOfFrames, t.WindowCenter, t.WindowWidth }).ToListAsync(); List seriesLists = await _repository.Where(s => studyIds.Contains(s.StudyId) /*&& s.IsReading*/) - .WhereIf(isManualGenerate==false, t => t.IsReading) + .WhereIf(isManualGenerate == false, t => t.IsReading) .OrderBy(s => s.SeriesNumber). ThenBy(s => s.SeriesTime) .ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); @@ -531,23 +531,35 @@ namespace IRaCIS.Core.Application.Services foreach (var item in noDicomStudyList) { var nodicom = noDicomList.Where(x => x.Id == item.StudyId).First(); - item.SeriesList = new List() - { - new DicomSeriesDTO (){ - IsDicom=false, - Id=item.StudyId, - InstanceCount=await _noneDicomStudyFileRepository.Where(x=>x.NoneDicomStudyId==item.StudyId).CountAsync(), - Modality=item.Modalities, - StudyId=item.StudyId, - TrialId=nodicom.TrialId, - SiteId=nodicom.SiteId, - SubjectVisitId=nodicom.SubjectVisitId, - SubjectId=nodicom.SubjectId, - SeriesNumber=1, - NoneDicomFileFirstFile=await _noneDicomStudyFileRepository.Where(x=>x.NoneDicomStudyId==item.StudyId).Select(x=>x.Path).FirstOrDefaultAsync(), - } - }; + var instanceCount = await _noneDicomStudyFileRepository.Where(x => x.NoneDicomStudyId == item.StudyId).CountAsync(); + + if (instanceCount == 0) + { + item.SeriesList = new List(); + + } + else + { + item.SeriesList = new List() + { + new DicomSeriesDTO (){ + IsDicom=false, + Id=item.StudyId, + InstanceCount=instanceCount, + Modality=item.Modalities, + StudyId=item.StudyId, + TrialId=nodicom.TrialId, + SiteId=nodicom.SiteId, + SubjectVisitId=nodicom.SubjectVisitId, + SubjectId=nodicom.SubjectId, + SeriesNumber=1, + NoneDicomFileFirstFile=await _noneDicomStudyFileRepository.Where(x=>x.NoneDicomStudyId==item.StudyId).Select(x=>x.Path).FirstOrDefaultAsync(), + } + + }; + } + }