代码修改
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
0769f8fe05
commit
7a318eae45
|
@ -40,6 +40,8 @@ public class ImageConsumer(
|
||||||
IRepository<Enroll> _enrollRepository,
|
IRepository<Enroll> _enrollRepository,
|
||||||
IRepository<VisitTask> _visitTaskRepository,
|
IRepository<VisitTask> _visitTaskRepository,
|
||||||
IRepository<ReadModule> _readModuleRepository,
|
IRepository<ReadModule> _readModuleRepository,
|
||||||
|
IRepository<EmailNoticeUserType> _emailNoticeUserTypeRepository,
|
||||||
|
IRepository<TrialSite> _trialSiteRepository,
|
||||||
IRepository<Dictionary> _dictionaryRepository,
|
IRepository<Dictionary> _dictionaryRepository,
|
||||||
IRepository<EmailNoticeConfig> _emailNoticeConfigrepository,
|
IRepository<EmailNoticeConfig> _emailNoticeConfigrepository,
|
||||||
IOptionsMonitor<SystemEmailSendConfig> systemEmailConfig) :
|
IOptionsMonitor<SystemEmailSendConfig> systemEmailConfig) :
|
||||||
|
@ -214,7 +216,7 @@ public class ImageConsumer(
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 发送影像重传相关邮件的通用方法
|
/// 发送影像重传相关邮件的通用方法
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private async Task SendImageReuploadEmail(EmailNoticeConfig trialEmailConfig, EmailBusinessScenario scenario, SubjectVisit subjectVisit, Guid trialId)
|
private async Task SendImageReuploadEmail(EmailNoticeConfig emailNoticeConfig, EmailBusinessScenario scenario, SubjectVisit subjectVisit, Guid trialId)
|
||||||
{
|
{
|
||||||
var isEn_US = CultureInfo.CurrentCulture.Name == StaticData.CultureInfo.en_US;
|
var isEn_US = CultureInfo.CurrentCulture.Name == StaticData.CultureInfo.en_US;
|
||||||
|
|
||||||
|
@ -228,52 +230,30 @@ public class ImageConsumer(
|
||||||
List<UserRole> toUserList = new List<UserRole>();
|
List<UserRole> toUserList = new List<UserRole>();
|
||||||
List<UserRole> ccUserList = new List<UserRole>();
|
List<UserRole> ccUserList = new List<UserRole>();
|
||||||
|
|
||||||
switch (scenario)
|
var emailNoticeUserList = await _emailNoticeUserTypeRepository.Where(x => x.EmailNoticeConfigId == emailNoticeConfig.Id).ToListAsync();
|
||||||
|
|
||||||
|
var crcUserList =new List<UserRole>(){ };
|
||||||
|
if (emailNoticeUserList.Select(x => x.UserType).Contains(UserTypeEnum.ClinicalResearchCoordinator))
|
||||||
{
|
{
|
||||||
case EmailBusinessScenario.ImageQC_IQCApplyRe_Uploading: // 64 - IQC申请重传 - Code: 42
|
crcUserList=await _trialSiteRepository.Where(x=>x.Id== subjectVisit.TrialSiteId).SelectMany(x=>x.CRCUserList.Select(y => y.UserRole)).ToListAsync();
|
||||||
// PM收件
|
}
|
||||||
toUserList = trialUser.Where(x => x.UserTypeEnum == UserTypeEnum.ProjectManager).ToList();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case EmailBusinessScenario.ImageUploadCRCApplyRe_Uploading: // 65 - CRC申请重传 - Code: 43
|
var toList = emailNoticeUserList.Where(x => x.EmailUserType == EmailUserType.To&& x.UserType != UserTypeEnum.ClinicalResearchCoordinator).Select(x=>x.UserType).ToList();
|
||||||
// PM、APM收件
|
|
||||||
toUserList = trialUser.Where(x => x.UserTypeEnum == UserTypeEnum.APM || x.UserTypeEnum == UserTypeEnum.ProjectManager).ToList();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case EmailBusinessScenario.ImageReUpload_PMApprovalRe_Uploading: // 66 - PM审批重传 - Code: 44
|
toUserList = trialUser.Where(x => toList.Contains(x.UserTypeEnum) ).ToList();
|
||||||
// CRC、IQC收件
|
|
||||||
toUserList = trialUser.Where(x => x.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator || x.UserTypeEnum == UserTypeEnum.IQC).ToList();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case EmailBusinessScenario.DataReconciliation_PMApprovalRe_Uploading: // 63 - 一致性核查PM审批重传 - Code: 41
|
if (emailNoticeUserList.Any(x => x.EmailUserType == EmailUserType.To && x.UserType == UserTypeEnum.ClinicalResearchCoordinator))
|
||||||
// CRC收件
|
{
|
||||||
toUserList = trialUser.Where(x => x.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator).ToList();
|
toUserList.AddRange(crcUserList);
|
||||||
break;
|
}
|
||||||
|
|
||||||
case EmailBusinessScenario.ImageQuery_IQCApprovalRe_Uploading: // 61 - 影像质疑IQC审批重传 - Code: 39
|
var ccList = emailNoticeUserList.Where(x => x.EmailUserType == EmailUserType.Copy && x.UserType != UserTypeEnum.ClinicalResearchCoordinator).Select(x => x.UserType).ToList();
|
||||||
// CRC收件
|
|
||||||
toUserList = trialUser.Where(x => x.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator).ToList();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case EmailBusinessScenario.DataReconciliation_CRCApplyRe_Uploading: // 62 - 一致性核查CRC申请重传 - Code: 40
|
ccUserList = trialUser.Where(x => ccList.Contains(x.UserTypeEnum)).ToList();
|
||||||
// PM、APM收件
|
|
||||||
toUserList = trialUser.Where(x => x.UserTypeEnum == UserTypeEnum.APM || x.UserTypeEnum == UserTypeEnum.ProjectManager).ToList();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case EmailBusinessScenario.ImageQueryCRCApplyRe_Uploading: // 60 - 影像质疑CRC申请重传 - Code: 38
|
if (emailNoticeUserList.Any(x => x.EmailUserType == EmailUserType.Copy && x.UserType == UserTypeEnum.ClinicalResearchCoordinator))
|
||||||
// IQC收件
|
{
|
||||||
toUserList = trialUser.Where(x => x.UserTypeEnum == UserTypeEnum.IQC).ToList();
|
ccUserList.AddRange(crcUserList);
|
||||||
break;
|
|
||||||
|
|
||||||
case EmailBusinessScenario.ReadTracking_PMApplyRe_Reading: // 67 - PM申请重阅 - Code: 45
|
|
||||||
// CPM、SPM收件
|
|
||||||
toUserList = trialUser.Where(x => x.UserTypeEnum == UserTypeEnum.SPM || x.UserTypeEnum == UserTypeEnum.CPM).ToList();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case EmailBusinessScenario.Re_ReadApproval_SPMCPMApprovalRe_Reading: // 68 - SPM/CPM审批重阅 - Code: 46
|
|
||||||
// CRC收件
|
|
||||||
toUserList = trialUser.Where(x => x.UserTypeEnum == UserTypeEnum.ClinicalResearchCoordinator).ToList();
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// 如果没有收件人,则不发送邮件
|
// 如果没有收件人,则不发送邮件
|
||||||
|
@ -410,7 +390,7 @@ public class ImageConsumer(
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 发送阅片人筛选相关邮件的通用方法
|
/// 发送阅片人筛选相关邮件的通用方法
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private async Task SendReviewerSelectionEmail(EmailNoticeConfig trialEmailConfig, EmailBusinessScenario scenario, Guid trialId, List<Guid> enrollIdList)
|
private async Task SendReviewerSelectionEmail(EmailNoticeConfig emailNoticeConfig, EmailBusinessScenario scenario, Guid trialId, List<Guid> enrollIdList)
|
||||||
{
|
{
|
||||||
var isEn_US = CultureInfo.CurrentCulture.Name == StaticData.CultureInfo.en_US;
|
var isEn_US = CultureInfo.CurrentCulture.Name == StaticData.CultureInfo.en_US;
|
||||||
|
|
||||||
|
@ -424,18 +404,16 @@ public class ImageConsumer(
|
||||||
List<UserRole> toUserList = new List<UserRole>();
|
List<UserRole> toUserList = new List<UserRole>();
|
||||||
List<UserRole> ccUserList = new List<UserRole>();
|
List<UserRole> ccUserList = new List<UserRole>();
|
||||||
|
|
||||||
switch (scenario)
|
var emailNoticeUserList = await _emailNoticeUserTypeRepository.Where(x => x.EmailNoticeConfigId == emailNoticeConfig.Id).ToListAsync();
|
||||||
{
|
|
||||||
case EmailBusinessScenario.ReviewerSelection_PMApplyApproving: // 69 - PM申请审批 - Code: 47
|
var toList = emailNoticeUserList.Where(x => x.EmailUserType == EmailUserType.To).Select(x => x.UserType).ToList();
|
||||||
// CPM、SPM收件
|
|
||||||
toUserList = trialUser.Where(x => x.UserTypeEnum == UserTypeEnum.SPM || x.UserTypeEnum == UserTypeEnum.CPM).ToList();
|
toUserList = trialUser.Where(x => toList.Contains(x.UserTypeEnum)).ToList();
|
||||||
break;
|
|
||||||
|
var ccList = emailNoticeUserList.Where(x => x.EmailUserType == EmailUserType.Copy && x.UserType != UserTypeEnum.ClinicalResearchCoordinator).Select(x => x.UserType).ToList();
|
||||||
|
|
||||||
|
ccUserList = trialUser.Where(x => ccList.Contains(x.UserTypeEnum)).ToList();
|
||||||
|
|
||||||
case EmailBusinessScenario.ReviewerSelection_SPMCPMApproval: // 70 - SPM审批 - Code: 48
|
|
||||||
// APM、PM收件
|
|
||||||
toUserList = trialUser.Where(x => x.UserTypeEnum == UserTypeEnum.ProjectManager || x.UserTypeEnum == UserTypeEnum.APM).ToList();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 如果没有收件人,则不发送邮件
|
// 如果没有收件人,则不发送邮件
|
||||||
if (toUserList.Count == 0)
|
if (toUserList.Count == 0)
|
||||||
|
|
Loading…
Reference in New Issue