From 0e7b4b5813f74ebd61ef43a0f6e7d91ac692059b Mon Sep 17 00:00:00 2001 From: hang <872297557@qq.com> Date: Mon, 21 Nov 2022 15:49:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=BA=8F=E5=88=97=E6=B8=B2?= =?UTF-8?q?=E6=9F=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/ImageAndDoc/InstanceService.cs | 12 +++++++----- .../Service/ImageAndDoc/SeriesService.cs | 11 ++++++++--- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/InstanceService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/InstanceService.cs index c4654d99..7a191236 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/InstanceService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/InstanceService.cs @@ -52,13 +52,15 @@ namespace IRaCIS.Core.Application.Services { var path = string.Empty; - DicomInstance dicomInstance = await _instanceRepository.FirstOrDefaultAsync(s => s.Id == instanceId).IfNullThrowException(); + path = (await _instanceRepository.Where(s => s.Id == instanceId).Select(t => t.Path).FirstOrDefaultAsync()).IfNullThrowException(); + + //DicomInstance dicomInstance = await _instanceRepository.FirstOrDefaultAsync(s => s.Id == instanceId).IfNullThrowException(); //DicomStudy dicomStudy = await _studyRepository.FirstOrDefaultAsync(s => s.Id == dicomInstance.StudyId).IfNullThrowException(); - //var(physicalPath, relativePath) = FileStoreHelper.GetDicomInstanceFilePath(_hostEnvironment, dicomStudy.TrialId, dicomStudy.SiteId, dicomStudy.SubjectId, dicomStudy.SubjectVisitId, dicomStudy.Id, dicomInstance.Id); + //var (physicalPath, relativePath) = FileStoreHelper.GetDicomInstanceFilePath(_hostEnvironment, dicomStudy.TrialId, dicomStudy.SiteId, dicomStudy.SubjectId, dicomStudy.SubjectVisitId, dicomStudy.Id, dicomInstance.Id); - var physicalPath = FileStoreHelper.GetPhysicalFilePath(_hostEnvironment, dicomInstance.Path); + var physicalPath = FileStoreHelper.GetPhysicalFilePath(_hostEnvironment, path); using (var sw = ImageHelper.RenderPreviewJpeg(physicalPath)) { @@ -76,7 +78,7 @@ namespace IRaCIS.Core.Application.Services public async Task Content(Guid instanceId) { var filePath = string.Empty; - DicomInstance dicomInstance = await _instanceRepository.FirstOrDefaultAsync(s => s.Id == instanceId).IfNullThrowException(); + var path = (await _instanceRepository.Where(s => s.Id == instanceId).Select(t=>t.Path).FirstOrDefaultAsync()).IfNullThrowException(); //DicomStudy dicomStudy = await _studyRepository.FirstOrDefaultAsync(s => s.Id == dicomInstance.StudyId).IfNullThrowException(); @@ -89,7 +91,7 @@ namespace IRaCIS.Core.Application.Services //var (physicalPath, relativePath) = FileStoreHelper.GetDicomInstanceFilePath(_hostEnvironment, dicomStudy.TrialId, dicomStudy.SiteId, dicomStudy.SubjectId, dicomStudy.SubjectVisitId, dicomStudy.Id, dicomInstance.Id); - var physicalPath = FileStoreHelper.GetPhysicalFilePath(_hostEnvironment,dicomInstance.Path); + var physicalPath = FileStoreHelper.GetPhysicalFilePath(_hostEnvironment, path); using (var sw = new FileStream(physicalPath, FileMode.Open, FileAccess.Read, FileShare.Read)) diff --git a/IRaCIS.Core.Application/Service/ImageAndDoc/SeriesService.cs b/IRaCIS.Core.Application/Service/ImageAndDoc/SeriesService.cs index d93fb6ae..c34cfdb4 100644 --- a/IRaCIS.Core.Application/Service/ImageAndDoc/SeriesService.cs +++ b/IRaCIS.Core.Application/Service/ImageAndDoc/SeriesService.cs @@ -99,11 +99,16 @@ namespace IRaCIS.Core.Application.Services public async Task Preview(Guid seriesId) { string path = string.Empty; - DicomInstance dicomInstance = await _instanceRepository.FirstOrDefaultAsync(s => s.SeriesId == seriesId).IfNullThrowException(); - DicomStudy dicomStudy = await _studyRepository.FirstOrDefaultAsync(s => s.Id == dicomInstance.StudyId).IfNullThrowException(); + path= (await _instanceRepository.Where(s => s.SeriesId == seriesId).Select(t=>t.Path).FirstOrDefaultAsync()).IfNullThrowException(); - var (physicalPath, relativePath) = FileStoreHelper.GetDicomInstanceFilePath(_hostEnvironment, dicomStudy.TrialId, dicomStudy.SiteId, dicomStudy.SubjectId, dicomStudy.SubjectVisitId, dicomStudy.Id, dicomInstance.Id); + var physicalPath = FileStoreHelper.GetPhysicalFilePath(_hostEnvironment, path); + + //DicomInstance dicomInstance = await _instanceRepository.FirstOrDefaultAsync(s => s.SeriesId == seriesId).IfNullThrowException(); + + //DicomStudy dicomStudy = await _studyRepository.FirstOrDefaultAsync(s => s.Id == dicomInstance.StudyId).IfNullThrowException(); + + //var (physicalPath, relativePath) = FileStoreHelper.GetDicomInstanceFilePath(_hostEnvironment, dicomStudy.TrialId, dicomStudy.SiteId, dicomStudy.SubjectId, dicomStudy.SubjectVisitId, dicomStudy.Id, dicomInstance.Id); using (var sw = ImageHelper.RenderPreviewJpeg(physicalPath)) {