diff --git a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml index 782678fea..4b080d099 100644 --- a/IRaCIS.Core.Application/IRaCIS.Core.Application.xml +++ b/IRaCIS.Core.Application/IRaCIS.Core.Application.xml @@ -13095,7 +13095,7 @@ 分页获取CRO列表 - + 根据CRO 名称查询所有CRO 列表 @@ -13128,7 +13128,7 @@ 分页获取申办方列表 - + 分页获取申办方列表 diff --git a/IRaCIS.Core.Application/Service/Institution/CROService.cs b/IRaCIS.Core.Application/Service/Institution/CROService.cs index a58ea336a..202811966 100644 --- a/IRaCIS.Core.Application/Service/Institution/CROService.cs +++ b/IRaCIS.Core.Application/Service/Institution/CROService.cs @@ -5,7 +5,7 @@ using Microsoft.AspNetCore.Mvc; namespace IRaCIS.Application.Services { - [ ApiExplorerSettings(GroupName = "Institution")] + [ApiExplorerSettings(GroupName = "Institution")] public class CroService : BaseService, ICroService { private readonly IRepository _croRepository; @@ -20,50 +20,50 @@ namespace IRaCIS.Application.Services /// 分页获取CRO列表 [HttpPost] public async Task> GetCroList(CROCompanyQueryDTO croCompanySearchModel) - { + { var croQueryable = _croRepository .WhereIf(!string.IsNullOrEmpty(croCompanySearchModel.CROName), t => t.CROName.Contains(croCompanySearchModel.CROName) || t.CRONameCN.Contains(croCompanySearchModel.CROName)) - .WhereIf(!string.IsNullOrEmpty(croCompanySearchModel.CROCode), t => t.CROCode.Contains(croCompanySearchModel.CROCode) ) + .WhereIf(!string.IsNullOrEmpty(croCompanySearchModel.CROCode), t => t.CROCode.Contains(croCompanySearchModel.CROCode)) .ProjectTo(_mapper.ConfigurationProvider); - return await croQueryable.ToPagedListAsync(croCompanySearchModel.PageIndex, croCompanySearchModel.PageSize, - string.IsNullOrWhiteSpace(croCompanySearchModel.SortField) ? "CROName": croCompanySearchModel.SortField, croCompanySearchModel.Asc); + return await croQueryable.ToPagedListAsync(croCompanySearchModel.PageIndex, croCompanySearchModel.PageSize, + string.IsNullOrWhiteSpace(croCompanySearchModel.SortField) ? "CROName" : croCompanySearchModel.SortField, croCompanySearchModel.Asc); } /// 根据CRO 名称查询所有CRO 列表 - public async Task> GetAllCROList() + public async Task> GetAllCROList(Guid? croId) { - return await _croRepository.ProjectTo(_mapper.ConfigurationProvider, new { isEn_Us = _userInfo.IsEn_Us }).ToListAsync(); + return await _croRepository.Where(t => t.IsTrialLevel == false || t.Id == croId).ProjectTo(_mapper.ConfigurationProvider, new { isEn_Us = _userInfo.IsEn_Us }).ToListAsync(); } /// 添加CRO信息 - + public async Task AddOrUpdateCro(CROCompanyDTO addCroCompanyCommand) { var exp = new EntityVerifyExp() { - VerifyExp = cro => cro.CROName.Equals(addCroCompanyCommand.CROName) , + VerifyExp = cro => cro.CROName.Equals(addCroCompanyCommand.CROName), //---已经存在同名的CRO,请确认。 VerifyMsg = _localizer["CRO_DupName"] }; var cro = await _croRepository.InsertOrUpdateAsync(addCroCompanyCommand, true, exp); - - return ResponseOutput.Ok( cro.Id.ToString()); - + + return ResponseOutput.Ok(cro.Id.ToString()); + } /// 删除CRO信息 - + [HttpDelete("{croCompanyId:guid}")] - public async Task DeleteCro(Guid cROCompanyId) + public async Task DeleteCro(Guid cROCompanyId) { if (await _trialRepository.AnyAsync(t => t.CROId == cROCompanyId)) { @@ -74,7 +74,7 @@ namespace IRaCIS.Application.Services //{ // return ResponseOutput.NotOk("该CRO下存在用户,暂时无法删除。"); //} - var success = await _croRepository.BatchDeleteNoTrackingAsync(x=>x.Id== cROCompanyId); + var success = await _croRepository.BatchDeleteNoTrackingAsync(x => x.Id == cROCompanyId); return ResponseOutput.Result(success); } diff --git a/IRaCIS.Core.Application/Service/Institution/DTO/CROCompanyModel.cs b/IRaCIS.Core.Application/Service/Institution/DTO/CROCompanyModel.cs index da90775b2..b957f07f5 100644 --- a/IRaCIS.Core.Application/Service/Institution/DTO/CROCompanyModel.cs +++ b/IRaCIS.Core.Application/Service/Institution/DTO/CROCompanyModel.cs @@ -11,6 +11,8 @@ namespace IRaCIS.Application.Contracts public string CRONameCN { get; set; } = string.Empty; + public bool IsTrialLevel { get; set; } + } public class CroSelectDTO @@ -18,8 +20,6 @@ namespace IRaCIS.Application.Contracts public Guid Id { get; set; } public string CROName { get; set; } = string.Empty; public string CROCode { get; set; } = string.Empty; - - public string CRONameCN { get; set; } = string.Empty; } public class CROCompanyQueryDTO : PageInput diff --git a/IRaCIS.Core.Application/Service/Institution/DTO/SponsorModel.cs b/IRaCIS.Core.Application/Service/Institution/DTO/SponsorModel.cs index 7bde8904b..aa5662bc0 100644 --- a/IRaCIS.Core.Application/Service/Institution/DTO/SponsorModel.cs +++ b/IRaCIS.Core.Application/Service/Institution/DTO/SponsorModel.cs @@ -17,6 +17,8 @@ namespace IRaCIS.Application.Contracts public string SponsorCode { get; set; } = String.Empty; + public bool IsTrialLevel { get; set; } + } public class SponsorQueryDTO : PageInput diff --git a/IRaCIS.Core.Application/Service/Institution/Interface/ICROService.cs b/IRaCIS.Core.Application/Service/Institution/Interface/ICROService.cs index 961a70b27..94b1d7c45 100644 --- a/IRaCIS.Core.Application/Service/Institution/Interface/ICROService.cs +++ b/IRaCIS.Core.Application/Service/Institution/Interface/ICROService.cs @@ -8,7 +8,7 @@ namespace IRaCIS.Application.Interfaces public interface ICroService { Task> GetCroList(CROCompanyQueryDTO queryModel); - Task> GetAllCROList(); + Task> GetAllCROList(Guid? croId); Task AddOrUpdateCro(CROCompanyDTO addCroCompanyViewModel); Task DeleteCro(Guid croCompanyId); } diff --git a/IRaCIS.Core.Application/Service/Institution/Interface/ISponsorService.cs b/IRaCIS.Core.Application/Service/Institution/Interface/ISponsorService.cs index 6020d07a8..ae84df631 100644 --- a/IRaCIS.Core.Application/Service/Institution/Interface/ISponsorService.cs +++ b/IRaCIS.Core.Application/Service/Institution/Interface/ISponsorService.cs @@ -8,7 +8,7 @@ namespace IRaCIS.Application.Interfaces public interface ISponsorService { Task> GetSponsorList(SponsorQueryDTO queryParam); - Task> GetAllSponsorList(); + Task> GetAllSponsorList(Guid? sponsorId); Task AddOrUpdateSponsor(SponsorCommand model); Task DeleteSponsor(Guid sponsorId); } diff --git a/IRaCIS.Core.Application/Service/Institution/SponsorService.cs b/IRaCIS.Core.Application/Service/Institution/SponsorService.cs index dd8beb9dd..d553f68db 100644 --- a/IRaCIS.Core.Application/Service/Institution/SponsorService.cs +++ b/IRaCIS.Core.Application/Service/Institution/SponsorService.cs @@ -33,14 +33,14 @@ namespace IRaCIS.Application.Services } /// 分页获取申办方列表 - public async Task> GetAllSponsorList() + public async Task> GetAllSponsorList(Guid? sponsorId) { //Expression> sponsorLambda = x => true; //if (!string.IsNullOrWhiteSpace(sponsorSearchModel.SponsorName)) //{ // sponsorLambda = sponsorLambda.And(t => t.SponsorName.Contains(sponsorSearchModel.SponsorName.Trim())); //} - var sponsorQueryable = _sponsorRepository.ProjectTo(_mapper.ConfigurationProvider,new { isEn_Us= _userInfo.IsEn_Us}); + var sponsorQueryable = _sponsorRepository.Where(t => t.IsTrialLevel == false || t.Id == sponsorId).ProjectTo(_mapper.ConfigurationProvider,new { isEn_Us= _userInfo.IsEn_Us}); return await sponsorQueryable.ToListAsync(); } diff --git a/IRaCIS.Core.Domain/Institution/CRO.cs b/IRaCIS.Core.Domain/Institution/CRO.cs index 629364936..aeaf02098 100644 --- a/IRaCIS.Core.Domain/Institution/CRO.cs +++ b/IRaCIS.Core.Domain/Institution/CRO.cs @@ -10,6 +10,9 @@ namespace IRaCIS.Core.Domain.Models public string CRONameCN { get; set; } = string.Empty; public string CROCode { get; set; } + + public bool IsTrialLevel { get; set; } + public DateTime CreateTime { get; set; } public Guid CreateUserId { get; set; } public Guid UpdateUserId { get; set; } diff --git a/IRaCIS.Core.Domain/Institution/Sponsor.cs b/IRaCIS.Core.Domain/Institution/Sponsor.cs index 9d6eb9072..fcc862a89 100644 --- a/IRaCIS.Core.Domain/Institution/Sponsor.cs +++ b/IRaCIS.Core.Domain/Institution/Sponsor.cs @@ -11,6 +11,8 @@ namespace IRaCIS.Core.Domain.Models public string SponsorCode { get; set; } = String.Empty; + public bool IsTrialLevel { get; set; } + public DateTime CreateTime { get; set; } = DateTime.Now; public Guid CreateUserId { get; set; } = Guid.Empty; public DateTime UpdateTime { get; set; } = DateTime.Now;