diff --git a/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs b/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs
index 7002fe225..00a6364c6 100644
--- a/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Reading/Dto/OrganInfoViewModel.cs
@@ -14,10 +14,10 @@ namespace IRaCIS.Core.Application.ViewModel
{
public Guid TrialId { get; set; }
- ///
- /// 类型枚举
- ///
- public OrganType OrganType { get; set; }
+ /////
+ ///// 类型枚举
+ /////
+ //public OrganType OrganType { get; set; }
public List OrganIds { get; set; }
}
@@ -53,7 +53,7 @@ namespace IRaCIS.Core.Application.ViewModel
///
/// 类型枚举
///
- public OrganType OrganType { get; set; }
+ public OrganType? OrganType { get; set; }
}
public class GetTrialCheckOrganList : GetTrialOrganListOutDto
diff --git a/IRaCIS.Core.Application/Service/Reading/OrganInfoService.cs b/IRaCIS.Core.Application/Service/Reading/OrganInfoService.cs
index a0e49cdbd..8891541fe 100644
--- a/IRaCIS.Core.Application/Service/Reading/OrganInfoService.cs
+++ b/IRaCIS.Core.Application/Service/Reading/OrganInfoService.cs
@@ -81,13 +81,13 @@ namespace IRaCIS.Core.Application.Service
///
public async Task BatchAddTrialOrgan(BatchAddTrialOrganInDto inDto)
{
- await _organTrialInfoRepository.BatchDeleteNoTrackingAsync(t => t.TrialId==inDto.TrialId&&t.OrganType == inDto.OrganType);
+ //await _organTrialInfoRepository.BatchDeleteNoTrackingAsync(t => t.TrialId==inDto.TrialId&&t.OrganType == inDto.OrganType);
List organTrialInfos = inDto.OrganIds.Select(x => new OrganTrialInfo()
{
OrganInfoId=x,
TrialId=inDto.TrialId,
- OrganType=inDto.OrganType,
+ //OrganType=inDto.OrganType,
}).ToList();
@@ -119,8 +119,9 @@ namespace IRaCIS.Core.Application.Service
[HttpPost]
public async Task> GetTrialOrganList(GetTrialOrganListInDto inDto)
{
- var organInfoQueryable = from data in _organInfoRepository.Where(x => x.OrganType == inDto.OrganType)
- join trialData in _organTrialInfoRepository.Where(x => x.TrialId == inDto.TrialId && x.OrganType == inDto.OrganType)
+ var organInfoQueryable = from data in _organInfoRepository.WhereIf(inDto.OrganType!=null, x => x.OrganType == inDto.OrganType)
+ join trialData in _organTrialInfoRepository.WhereIf(inDto.OrganType != null, x => x.OrganType == inDto.OrganType)
+ .Where(x => x.TrialId == inDto.TrialId)
on data.Id equals trialData.OrganInfoId
select new GetTrialOrganListOutDto()
{
@@ -147,8 +148,9 @@ namespace IRaCIS.Core.Application.Service
[HttpPost]
public async Task> GetTrialCheckOrganList(GetTrialOrganListInDto inDto)
{
- var organInfoQueryable = from data in _organInfoRepository.Where(x => x.OrganType == inDto.OrganType)
- join trialData in _organTrialInfoRepository.Where(x => x.TrialId == inDto.TrialId && x.OrganType == inDto.OrganType)
+ var organInfoQueryable = from data in _organInfoRepository.WhereIf(inDto.OrganType != null, x => x.OrganType == inDto.OrganType)
+ join trialData in _organTrialInfoRepository.WhereIf(inDto.OrganType != null, x => x.OrganType == inDto.OrganType)
+ .Where(x => x.TrialId == inDto.TrialId)
on data.Id equals trialData.OrganInfoId into jtemp
from leftjoin in jtemp.DefaultIfEmpty()
select new GetTrialCheckOrganList()