修改外部用户提交
parent
7a2c3f1b01
commit
5999098820
|
@ -396,7 +396,7 @@
|
|||
项目外部人员 录入流程相关
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:IRaCIS.Core.Application.Service.TrialExternalUserService.AddOrUpdateTrialExternalUser(IRaCIS.Core.Application.ViewModel.TrialExternalUserAddOrEdit)">
|
||||
<member name="M:IRaCIS.Core.Application.Service.TrialExternalUserService.AddOrUpdateTrialExternalUser(IRaCIS.Core.Application.ViewModel.TrialExternalUserAddAndSendEmail)">
|
||||
<summary>
|
||||
添加和更新接口 已验证邮箱和账户类型不允许添加重复项
|
||||
</summary>
|
||||
|
|
|
@ -75,7 +75,7 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
}
|
||||
|
||||
///<summary> TrialExternalUserAddOrEdit 列表查询参数模型</summary>
|
||||
public class TrialExternalUserAddOrEdit : VerifyUserAdd
|
||||
public class TrialExternalUserAddOrEdit
|
||||
{
|
||||
public Guid? Id { get; set; }
|
||||
|
||||
|
@ -85,6 +85,17 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
public string OrganizationName { get; set; } = String.Empty;
|
||||
|
||||
|
||||
[NotDefault]
|
||||
public Guid UserTypeId { get; set; }
|
||||
|
||||
public string Email { get; set; } = string.Empty;
|
||||
|
||||
public string Phone { get; set; } = string.Empty;
|
||||
|
||||
public string FirstName { get; set; } = string.Empty;
|
||||
public string LastName { get; set; } = string.Empty;
|
||||
|
||||
|
||||
|
||||
//public bool IsSendEmail { get; set; }
|
||||
|
||||
|
@ -92,6 +103,18 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public class TrialExternalUserAddAndSendEmail: TrialExternalUserAddOrEdit
|
||||
{
|
||||
public bool IsSendEmail { get; set; }
|
||||
|
||||
public string BaseUrl { get; set; } = string.Empty;
|
||||
|
||||
public string RouteUrl { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
|
||||
public class TrialExternalUserConfirm
|
||||
{
|
||||
public string BaseUrl { get; set; } = string.Empty;
|
||||
|
@ -159,18 +182,7 @@ namespace IRaCIS.Core.Application.ViewModel
|
|||
}
|
||||
|
||||
|
||||
public class VerifyUserAdd
|
||||
{
|
||||
[NotDefault]
|
||||
public Guid UserTypeId { get; set; }
|
||||
|
||||
public string Email { get; set; } = string.Empty;
|
||||
|
||||
public string Phone { get; set; } = string.Empty;
|
||||
|
||||
public string FirstName { get; set; } = string.Empty;
|
||||
public string LastName { get; set; } = string.Empty;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ namespace IRaCIS.Core.Application.Interfaces
|
|||
|
||||
Task<List<TrialExternalUserView>> GetTrialExternalUserList(TrialExternalUserQuery queryTrialExternalUser);
|
||||
|
||||
Task<IResponseOutput> AddOrUpdateTrialExternalUser(TrialExternalUserAddOrEdit addOrEditTrialExternalUser);
|
||||
Task<IResponseOutput> AddOrUpdateTrialExternalUser(TrialExternalUserAddAndSendEmail addOrEditTrialExternalUser);
|
||||
|
||||
Task<IResponseOutput> DeleteTrialExternalUser(Guid trialExternalUserId, bool isSystemUser,
|
||||
Guid systemUserId);
|
||||
|
|
|
@ -59,7 +59,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
/// </summary>
|
||||
/// <param name="addOrEditTrialExternalUser"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<IResponseOutput> AddOrUpdateTrialExternalUser(TrialExternalUserAddOrEdit addOrEditTrialExternalUser)
|
||||
public async Task<IResponseOutput> AddOrUpdateTrialExternalUser(TrialExternalUserAddAndSendEmail addOrEditTrialExternalUser)
|
||||
{
|
||||
|
||||
if (addOrEditTrialExternalUser.Id == null)
|
||||
|
@ -209,7 +209,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
[HttpPost]
|
||||
public async Task<IResponseOutput> SendExternalUserJoinEmail(TrialExternalUserSendEmail sendEmail)
|
||||
{
|
||||
var trialInfo = await _repository.FirstOrDefaultAsync<Trial>(t => t.Id == sendEmail.TrialId);
|
||||
var trialInfo = (await _repository.FirstOrDefaultAsync<Trial>(t => t.Id == sendEmail.TrialId)).IfNullThrowException();
|
||||
|
||||
foreach (var userInfo in sendEmail.SendUsers)
|
||||
{
|
||||
|
|
|
@ -27,7 +27,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
CreateMap<UpdateTrialUserCommand, TrialUser>();
|
||||
|
||||
|
||||
|
||||
|
||||
CreateMap<AssginSiteCRCCommand, TrialUser>();
|
||||
|
||||
|
@ -108,7 +108,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
.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.UserCount, u => u.MapFrom(s => s.CRCUserList.Count()))
|
||||
.ForMember(d => d.UserNameList, u => u.MapFrom(s => s.CRCUserList.Where(t => t.IsDeleted == false).Select(u => u.User.FullName)));
|
||||
|
@ -116,7 +116,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
|
||||
|
||||
CreateMap<TrialExternalUserAddOrEdit, User>();
|
||||
|
||||
|
||||
CreateMap<TrialSite, SiteStatSimpleDTO>().IncludeMembers(t => t.Site)
|
||||
.ForMember(d => d.Id, u => u.MapFrom(s => s.Id))
|
||||
|
@ -124,7 +124,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
.ForMember(d => d.Site, u => u.MapFrom(s => s.Site.SiteName))
|
||||
.ForMember(d => d.Hospital, u => u.MapFrom(s => s.Site.Hospital.HospitalName))
|
||||
.ForMember(d => d.UserCount, u => u.MapFrom(s => s.CRCUserList.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)));
|
||||
CreateMap<Site, SiteStatSimpleDTO>();
|
||||
|
||||
|
||||
|
@ -133,29 +133,25 @@ namespace IRaCIS.Core.Application.Service
|
|||
.ForMember(d => d.UserType, u => u.MapFrom(s => s.User.UserTypeRole.UserTypeShortName))
|
||||
.ForMember(d => d.UserRealName, u => u.MapFrom(s => s.User.FullName));
|
||||
CreateMap<User, UserTrialDTO>();
|
||||
|
||||
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
CreateMap<AssginSiteCRCCommand, TrialSiteUser>();
|
||||
CreateMap<Domain.Models.Trial, TrialConfigDTO>().ForMember(t=>t.TrialId,u=>u.MapFrom(c=>c.Id))
|
||||
.ForMember(t => t.CriterionIds, u => u.MapFrom(c => c.TrialDicList.Where(v=>v.KeyName== StaticData.Criterion).Select(r=>r.DictionaryId)));
|
||||
CreateMap<Domain.Models.Trial, TrialConfigDTO>().ForMember(t => t.TrialId, u => u.MapFrom(c => c.Id))
|
||||
.ForMember(t => t.CriterionIds, u => u.MapFrom(c => c.TrialDicList.Where(v => v.KeyName == StaticData.Criterion).Select(r => r.DictionaryId)));
|
||||
CreateMap<Domain.Models.Trial, TrialSubjectConfig>();
|
||||
CreateMap<Domain.Models.Trial, TrialSubjectAndSVConfig>();
|
||||
|
||||
|
||||
CreateMap<BasicTrialConfig, Trial>();
|
||||
|
||||
CreateMap<TrialProcessConfig, Trial>().ForMember(t=>t.TrialDicList,u=>u.MapFrom(k=>k.CriterionIds));
|
||||
CreateMap<TrialProcessConfig, Trial>().ForMember(t => t.TrialDicList, u => u.MapFrom(k => k.CriterionIds));
|
||||
CreateMap<Guid, TrialDictionary>().EqualityComparison((odto, o) => odto == o.DictionaryId)
|
||||
.ForMember(t => t.DictionaryId, u => u.MapFrom(c => c))
|
||||
.ForMember(t => t.KeyName, u => u.MapFrom(c=> StaticData.Criterion) );
|
||||
.ForMember(t => t.KeyName, u => u.MapFrom(c => StaticData.Criterion));
|
||||
|
||||
|
||||
|
||||
CreateMap<Trial, TrialSelectDTO>();
|
||||
|
||||
CreateMap<TrialUrgentConfig, Trial>();
|
||||
|
@ -171,7 +167,12 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
|
||||
|
||||
CreateMap<TrialExternalUserAddAndSendEmail, TrialExternalUser>().ReverseMap();
|
||||
|
||||
CreateMap<TrialExternalUserAddAndSendEmail, User>();
|
||||
|
||||
CreateMap<TrialExternalUser, TrialExternalUserAddOrEdit>().ReverseMap();
|
||||
CreateMap<TrialExternalUserAddOrEdit, User>();
|
||||
|
||||
CreateMap<TrialExternalUser, TrialExternalUserView>();
|
||||
|
||||
|
@ -180,7 +181,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
|
||||
CreateMap<TrialUserPreparation, TrialUserPreparationView>()
|
||||
|
||||
|
||||
.ForMember(t => t.UserRealName, u => u.MapFrom(c => c.User.FullName))
|
||||
.ForMember(t => t.UserName, u => u.MapFrom(c => c.User.UserName))
|
||||
.ForMember(t => t.UserTypeShortName, u => u.MapFrom(c => c.User.UserTypeRole.UserTypeShortName));
|
||||
|
@ -204,14 +205,14 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
|
||||
CreateMap<Trial, TrialUserExportDTO>()
|
||||
.ForMember(t=>t.TrialUserList,u=>u.Ignore());
|
||||
.ForMember(t => t.TrialUserList, u => u.Ignore());
|
||||
|
||||
|
||||
|
||||
CreateMap<Trial, TrialSiteUserExportDto>()
|
||||
.ForMember(t => t.TrialSiteUserList, u => u.Ignore());
|
||||
.ForMember(t => t.TrialSiteUserList, u => u.Ignore());
|
||||
|
||||
CreateMap<TrialSiteUser, SiteUserExportDTO>().IncludeMembers(t=>t.User)
|
||||
CreateMap<TrialSiteUser, SiteUserExportDTO>().IncludeMembers(t => t.User)
|
||||
.ForMember(t => t.TrialSiteCode, u => u.MapFrom(c => c.TrialSite.TrialSiteCode))
|
||||
.ForMember(t => t.TrialSiteAliasName, u => u.MapFrom(c => c.TrialSite.TrialSiteAliasName))
|
||||
.ForMember(t => t.UserRealName, u => u.MapFrom(c => c.User.FullName))
|
||||
|
@ -222,7 +223,7 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
|
||||
CreateMap<Trial, TrialSiteUserSummaryExportDto>()
|
||||
.ForMember(t => t.TrialSiteUserList, u => u.Ignore());
|
||||
.ForMember(t => t.TrialSiteUserList, u => u.Ignore());
|
||||
|
||||
CreateMap<TrialSiteUserSurvey, TrialSiteUserSummaryDto>()
|
||||
.ForMember(t => t.TrialRoleName, u => u.MapFrom(d => d.TrialRoleName.Value))
|
||||
|
@ -232,15 +233,15 @@ namespace IRaCIS.Core.Application.Service
|
|||
|
||||
|
||||
CreateMap<Trial, TrialSiteSurveyStat>()
|
||||
.ForMember(t=>t.ApprovalRequiredCount,u=>
|
||||
u.MapFrom( c => userTypeEnumInt == (int)UserTypeEnum.ProjectManager|| userTypeEnumInt == (int)UserTypeEnum.APM ?
|
||||
c.TrialSiteSurveyList.Where(t=> t.State==TrialSiteSurveyEnum.SPMApproved).Count()
|
||||
: c.TrialSiteSurveyList.Where(t => t.State == TrialSiteSurveyEnum.CRCSubmitted).Count())
|
||||
.ForMember(t => t.ApprovalRequiredCount, u =>
|
||||
u.MapFrom(c => userTypeEnumInt == (int)UserTypeEnum.ProjectManager || userTypeEnumInt == (int)UserTypeEnum.APM ?
|
||||
c.TrialSiteSurveyList.Where(t => t.State == TrialSiteSurveyEnum.SPMApproved).Count()
|
||||
: c.TrialSiteSurveyList.Where(t => t.State == TrialSiteSurveyEnum.CRCSubmitted).Count())
|
||||
)
|
||||
|
||||
.ForMember(t => t.ApprovalRequiredSiteCount, u =>
|
||||
u.MapFrom(c => userTypeEnumInt == (int)UserTypeEnum.ProjectManager || userTypeEnumInt == (int)UserTypeEnum.APM ?
|
||||
c.TrialSiteSurveyList.Where(t => t.State == TrialSiteSurveyEnum.SPMApproved ).Select(t=>t.SiteId).Distinct().Count()
|
||||
c.TrialSiteSurveyList.Where(t => t.State == TrialSiteSurveyEnum.SPMApproved).Select(t => t.SiteId).Distinct().Count()
|
||||
: c.TrialSiteSurveyList.Where(t => t.State == TrialSiteSurveyEnum.CRCSubmitted).Select(t => t.SiteId).Distinct().Count())
|
||||
)
|
||||
;
|
||||
|
@ -248,12 +249,12 @@ namespace IRaCIS.Core.Application.Service
|
|||
var userTypeId = Guid.Empty;
|
||||
CreateMap<Trial, DocSignStat>()
|
||||
.ForMember(t => t.WaitSignCount, u =>
|
||||
u.MapFrom(c => userTypeEnumInt == (int)UserTypeEnum.SuperAdmin ? 0
|
||||
|
||||
: c.TrialDocumentList.Where(t =>t.IsDeleted==false && t.NeedConfirmedUserTypeList.Any(t=>t.NeedConfirmUserTypeId== userTypeId ) && !t.TrialDocConfirmedUserList.Any(t=>t.ConfirmUserId==userId)).Count())
|
||||
u.MapFrom(c => userTypeEnumInt == (int)UserTypeEnum.SuperAdmin ? 0
|
||||
|
||||
: c.TrialDocumentList.Where(t => t.IsDeleted == false && t.NeedConfirmedUserTypeList.Any(t => t.NeedConfirmUserTypeId == userTypeId) && !t.TrialDocConfirmedUserList.Any(t => t.ConfirmUserId == userId)).Count())
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue