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 }); } } }