diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
index 7c6d7a452..d49fea38a 100644
--- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
+++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml
@@ -7071,6 +7071,11 @@
自定义计算标记
+
+
+ TrialId
+
+
IsDepend
diff --git a/IRaCIS.Core.Application/Service/Institution/CROService.cs b/IRaCIS.Core.Application/Service/Institution/CROService.cs
index ea1617425..b4c475a11 100644
--- a/IRaCIS.Core.Application/Service/Institution/CROService.cs
+++ b/IRaCIS.Core.Application/Service/Institution/CROService.cs
@@ -35,7 +35,10 @@ namespace IRaCIS.Application.Services
/// 根据CRO 名称查询所有CRO 列表
public async Task> GetAllCROList(Guid? trialId)
{
- return await _croRepository.Where(t => t.IsTrialLevel == false || t.TrialId == trialId).ProjectTo(_mapper.ConfigurationProvider, new { isEn_Us = _userInfo.IsEn_Us }).ToListAsync();
+ return await _croRepository
+ .WhereIf(trialId == null, t => t.IsTrialLevel == false)
+ .WhereIf(trialId != null, t => t.IsTrialLevel == false || t.TrialId == trialId)
+ .ProjectTo(_mapper.ConfigurationProvider, new { isEn_Us = _userInfo.IsEn_Us }).ToListAsync();
}
@@ -47,7 +50,7 @@ namespace IRaCIS.Application.Services
var exp = new EntityVerifyExp()
{
- VerifyExp = cro =>( cro.CROName.Equals(addCroCompanyCommand.CROName) || cro.CRONameCN.Equals(addCroCompanyCommand.CRONameCN)) && cro.IsTrialLevel==false,
+ VerifyExp = cro => (cro.CROName.Equals(addCroCompanyCommand.CROName) || cro.CRONameCN.Equals(addCroCompanyCommand.CRONameCN)) && cro.IsTrialLevel == false,
//---已经存在同名的CRO,请确认。
VerifyMsg = _localizer["CRO_DupName"]
};
diff --git a/IRaCIS.Core.Application/Service/Institution/SponsorService.cs b/IRaCIS.Core.Application/Service/Institution/SponsorService.cs
index f84172892..b4701ab56 100644
--- a/IRaCIS.Core.Application/Service/Institution/SponsorService.cs
+++ b/IRaCIS.Core.Application/Service/Institution/SponsorService.cs
@@ -37,7 +37,10 @@ namespace IRaCIS.Application.Services
public async Task> GetAllSponsorList(Guid? trialId)
{
- var sponsorQueryable = _sponsorRepository.Where(t => t.IsTrialLevel == false || t.TrialId == trialId).ProjectTo(_mapper.ConfigurationProvider,new { isEn_Us= _userInfo.IsEn_Us});
+ var sponsorQueryable = _sponsorRepository
+ .WhereIf(trialId == null, t => t.IsTrialLevel == false)
+ .WhereIf(trialId != null, t => t.IsTrialLevel == false || t.TrialId == trialId)
+ .ProjectTo(_mapper.ConfigurationProvider,new { isEn_Us= _userInfo.IsEn_Us});
return await sponsorQueryable.ToListAsync();
}
diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs
index 504cef295..4c140d16f 100644
--- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs
+++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialService.cs
@@ -304,9 +304,9 @@ namespace IRaCIS.Application.Services
if (trial.CROId != null)
{
- if (await _repository.AnyAsync(t => t.Id == trial.SponsorId && t.IsTrialLevel))
+ if (await _repository.AnyAsync(t => t.Id == trial.CROId && t.IsTrialLevel))
{
- await _repository.BatchUpdateAsync(t => t.Id == trial.SponsorId, u => new Sponsor() { TrialId = trial.Id });
+ await _repository.BatchUpdateAsync(t => t.Id == trial.CROId, u => new CRO() { TrialId = trial.Id });
}
}
}