diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialSiteViewModel.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialSiteViewModel.cs index e09765994..240586d0b 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialSiteViewModel.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/DTO/TrialSiteViewModel.cs @@ -139,5 +139,16 @@ namespace IRaCIS.Core.Application.Contracts.DTO } + public class TrialSelectUserBasicInfo + { + public Guid UserRoleId { get; set; } + public string FullName { get; set; } + + public string UserName { get; set; } + + public string Email { get; set; } + + public string Phone { get; set; } + } } \ No newline at end of file diff --git a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs index 178493ee8..ff815ec90 100644 --- a/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs +++ b/IRaCIS.Core.Application/Service/TrialSiteUser/TrialMaintenanceService.cs @@ -56,8 +56,8 @@ namespace IRaCIS.Core.Application.Service IsDeleted = t.IsDeleted, UserTypeId = t.UserRole.UserTypeRole.Id, UserTypeShortName = t.UserRole.UserTypeRole.UserTypeShortName, - CreateTime=t.CreateTime, - UpdateTime=t.UpdateTime, + CreateTime = t.CreateTime, + UpdateTime = t.UpdateTime, }).ToList(), }).ToPagedListAsync(inQuery); @@ -315,7 +315,23 @@ namespace IRaCIS.Core.Application.Service } + public async Task> GetTrialUserRoleList(Guid trialId, UserTypeEnum? userTypeEnum) + { + var list = await _trialIdentityUserRepository.Where(t => t.TrialId == trialId) + .SelectMany(t => t.TrialUserRoleList) + .WhereIf(userTypeEnum != null, t => t.UserRole.UserTypeEnum == userTypeEnum) + .Select(t => new TrialSelectUserBasicInfo() + { + FullName = t.TrialUser.IdentityUser.FullName, + UserRoleId = t.UserRole.Id, + UserName = t.TrialUser.IdentityUser.UserName, + Phone = t.TrialUser.IdentityUser.Phone, + Email = t.TrialUser.IdentityUser.EMail + }) + .ToListAsync(); + return list; + } } }