diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialSiteDicomAEViewModel.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialSiteDicomAEViewModel.cs index 94ac1e703..568583c26 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialSiteDicomAEViewModel.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialSiteDicomAEViewModel.cs @@ -6,6 +6,7 @@ using System; using IRaCIS.Core.Domain.Share; using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; namespace IRaCIS.Core.Application.ViewModel { /// TrialSiteDicomAEView 列表视图模型 @@ -21,8 +22,12 @@ namespace IRaCIS.Core.Application.ViewModel } ///TrialSiteDicomAEQuery 列表查询参数模型 - public class TrialSiteDicomAEQuery : PageInput + public class TrialSiteDicomAEQuery /*: PageInput*/ { + [NotDefault] + + public Guid TrialSiteId { get; set; } + public string? CallingAE { get; set; } public string? IP { get; set; } diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/UserTrialViewModel.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/UserTrialViewModel.cs index a3cd5fa36..a2fdd4c03 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/UserTrialViewModel.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/UserTrialViewModel.cs @@ -259,7 +259,7 @@ namespace IRaCIS.Application.Contracts //public string ContactPhone { get; set; } = String.Empty; //public string Address { get; set; } = String.Empty; - + public List CallingAEList { get; set; } public List UserNameList { get; set; } = new List(); public int? VisitCount { get; set; } diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/Interface/ITrialSiteDicomAEService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/Interface/ITrialSiteDicomAEService.cs index a6c2323a6..c6c6fc713 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/Interface/ITrialSiteDicomAEService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/Interface/ITrialSiteDicomAEService.cs @@ -13,7 +13,7 @@ namespace IRaCIS.Core.Application.Interfaces public interface ITrialSiteDicomAEService { - Task> GetTrialSiteDicomAEList(TrialSiteDicomAEQuery inQuery); + Task> GetTrialSiteDicomAEList(TrialSiteDicomAEQuery inQuery); Task AddOrUpdateTrialSiteDicomAE(TrialSiteDicomAEAddOrEdit addOrEditTrialSiteDicomAE); diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialDicomAEService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialDicomAEService.cs index 035be1e3e..982bab572 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialDicomAEService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialDicomAEService.cs @@ -57,7 +57,7 @@ namespace IRaCIS.Core.Application.Service /// /// /// - public async Task> GetTrialDicomAEList(Guid trialId) + public async Task> GetTrialDicomAE(Guid trialId) { var dicomAE = _dicomAERepository.Where(t => t.TrialId == trialId).ProjectTo(_mapper.ConfigurationProvider).FirstOrDefault(); var trialConfig = _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.IsPACSConnect, t.IsTrialPACSConfirmed }); diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteDicomAEService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteDicomAEService.cs index 2cfec8f8f..7b5318d44 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteDicomAEService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialSiteDicomAEService.cs @@ -25,23 +25,25 @@ namespace IRaCIS.Core.Application.Service } [HttpPost] - public async Task> GetTrialSiteDicomAEList(TrialSiteDicomAEQuery inQuery) + public async Task> GetTrialSiteDicomAEList(TrialSiteDicomAEQuery inQuery) { var trialSiteDicomAEQueryable = - _trialSiteDicomAERepository + _trialSiteDicomAERepository.Where(t=>t.TrialSiteId==inQuery.TrialSiteId) .WhereIf(!string.IsNullOrWhiteSpace(inQuery.IP), t => t.IP.Contains(inQuery.IP)) .WhereIf(!string.IsNullOrWhiteSpace(inQuery.Port), t => t.Port.Contains(inQuery.Port)) .WhereIf(!string.IsNullOrWhiteSpace(inQuery.Description), t => t.Description.Contains(inQuery.Description)) .WhereIf(!string.IsNullOrWhiteSpace(inQuery.CallingAE), t => t.CallingAE.Contains(inQuery.CallingAE)) .ProjectTo(_mapper.ConfigurationProvider); - var pageList = await trialSiteDicomAEQueryable - .ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(TrialSiteDicomAEView.Id) : inQuery.SortField, - inQuery.Asc); + //var pageList = await trialSiteDicomAEQueryable + //.ToPagedListAsync(inQuery.PageIndex, inQuery.PageSize, string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(TrialSiteDicomAEView.Id) : inQuery.SortField, + //inQuery.Asc); - return pageList; + var list = await trialSiteDicomAEQueryable.ToListAsync(); + + return list; } diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs index 2e38d4476..461523bfa 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/_MapConfig.cs @@ -141,7 +141,8 @@ namespace IRaCIS.Core.Application.Service .ForMember(d => d.UserCount, u => u.MapFrom(s => s.CRCUserList.Count())) .ForMember(d => d.VisitCount, u => u.MapFrom(s => s.SubjectVisitList.Count())) .ForMember(d => d.SubjectCount, u => u.MapFrom(s => s.SubjectList.Count())) - .ForMember(d => d.UserNameList, u => u.MapFrom(s => s.CRCUserList.Where(t => t.IsDeleted == false).Select(u => u.User.FullName))); + .ForMember(d => d.UserNameList, u => u.MapFrom(s => s.CRCUserList.Where(t => t.IsDeleted == false).Select(u => u.User.FullName))) + .ForMember(d => d.CallingAEList, u => u.MapFrom(s => s.TrialSiteDicomAEList.Select(u => u.CallingAE))); //CreateMap(); diff --git a/IRaCIS.Core.Domain/TrialSiteUser/TrialSite.cs b/IRaCIS.Core.Domain/TrialSiteUser/TrialSite.cs index 63da78434..8812dd62b 100644 --- a/IRaCIS.Core.Domain/TrialSiteUser/TrialSite.cs +++ b/IRaCIS.Core.Domain/TrialSiteUser/TrialSite.cs @@ -55,7 +55,9 @@ namespace IRaCIS.Core.Domain.Models [JsonIgnore] public List SubjectList { get; set; } + [JsonIgnore] + public List TrialSiteDicomAEList { get; set; } } } \ No newline at end of file diff --git a/IRaCIS.Core.Domain/TrialSiteUser/TrialSiteDicomAE.cs b/IRaCIS.Core.Domain/TrialSiteUser/TrialSiteDicomAE.cs index a23e4d5b6..1ef1446f5 100644 --- a/IRaCIS.Core.Domain/TrialSiteUser/TrialSiteDicomAE.cs +++ b/IRaCIS.Core.Domain/TrialSiteUser/TrialSiteDicomAE.cs @@ -53,6 +53,10 @@ namespace IRaCIS.Core.Domain.Models public string Description { get; set; } + + + + public TrialSite TrialSite { get; set; } }