项目中心改为分页
continuous-integration/drone/push Build is passing Details

IRC_NewDev
hang 2024-06-07 10:52:50 +08:00
parent 824b165723
commit cc088900b6
2 changed files with 21 additions and 9 deletions

View File

@ -47,6 +47,13 @@ namespace IRaCIS.Application.Contracts
}
public class TrialSiteInQuery:PageInput
{
public string? TrialSiteName { get; set; }
public string? TrialCode { get; set; }
}
public class TrialSiteAddView
{
public Guid TrialSiteId { get; set; }

View File

@ -50,16 +50,21 @@ namespace IRaCIS.Application.Services
return await _siteRepository.ProjectTo<SiteSelectionDTO>(_mapper.ConfigurationProvider).ToListAsync();
}
public async Task<List<TrialSiteAddView>> GetTrialSiteList()
[HttpPost]
public async Task<PageOutput<TrialSiteAddView>> GetTrialSiteList(TrialSiteInQuery inQuery)
{
return _repository.Where<TrialSite>(t => t.SiteId == null).Select(t => new TrialSiteAddView()
{
TrialCode = t.Trial.TrialCode,
TrialSiteAliasName = t.TrialSiteAliasName,
TrialSiteId = t.Id,
TrialSiteName = t.TrialSiteName
}).ToList();
var query = _repository.Where<TrialSite>(t => t.SiteId == null)
.WhereIf(string.IsNullOrEmpty(inQuery.TrialSiteName), t => t.TrialSiteName.Contains(inQuery.TrialSiteName) || t.TrialSiteAliasName.Contains(inQuery.TrialSiteName))
.WhereIf(string.IsNullOrEmpty(inQuery.TrialCode), t => t.Trial.TrialCode.Contains(inQuery.TrialCode))
.Select(t => new TrialSiteAddView()
{
TrialCode = t.Trial.TrialCode,
TrialSiteAliasName = t.TrialSiteAliasName,
TrialSiteId = t.Id,
TrialSiteName = t.TrialSiteName
});
return await query.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(TrialSiteAddView.TrialCode) : inQuery.SortField, inQuery.Asc);
}
/// <summary> 添加研究中心 </summary>