|
|
|
@ -1242,8 +1242,6 @@ namespace IRaCIS.Core.Application.Service
|
|
|
|
[HttpPost]
|
|
|
|
[HttpPost]
|
|
|
|
public async Task<PageOutput<TrialSelectEmailNoticeConfigView>> GetSysEmailNoticeConfigList(EmailNoticeConfigQuery inQuery)
|
|
|
|
public async Task<PageOutput<TrialSelectEmailNoticeConfigView>> GetSysEmailNoticeConfigList(EmailNoticeConfigQuery inQuery)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var trialConfig = _trialRepository.Where(t => t.Id == inQuery.TrialId).Select(t => new { t.IsEnrollementQualificationConfirm, t.IsPDProgressView }).First();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var emailNoticeConfigQueryable = _emailNoticeConfigRepository
|
|
|
|
var emailNoticeConfigQueryable = _emailNoticeConfigRepository
|
|
|
|
.WhereIf(inQuery.SystemLevel == null, t => t.SystemLevel == SysEmailLevel.not_sys)
|
|
|
|
.WhereIf(inQuery.SystemLevel == null, t => t.SystemLevel == SysEmailLevel.not_sys)
|
|
|
|
.WhereIf(inQuery.BusinessScenarioEnum != null, t => t.BusinessScenarioEnum == inQuery.BusinessScenarioEnum)
|
|
|
|
.WhereIf(inQuery.BusinessScenarioEnum != null, t => t.BusinessScenarioEnum == inQuery.BusinessScenarioEnum)
|
|
|
|
@ -1254,34 +1252,11 @@ namespace IRaCIS.Core.Application.Service
|
|
|
|
.WhereIf(inQuery.EmailUrgentEnum != null, t => t.EmailUrgentEnum == inQuery.EmailUrgentEnum)
|
|
|
|
.WhereIf(inQuery.EmailUrgentEnum != null, t => t.EmailUrgentEnum == inQuery.EmailUrgentEnum)
|
|
|
|
.WhereIf(inQuery.ToUserType != null, t => t.EmailNoticeUserTypeList.Any(t => t.UserType == inQuery.ToUserType && t.EmailUserType == EmailUserType.To))
|
|
|
|
.WhereIf(inQuery.ToUserType != null, t => t.EmailNoticeUserTypeList.Any(t => t.UserType == inQuery.ToUserType && t.EmailUserType == EmailUserType.To))
|
|
|
|
.WhereIf(inQuery.CopyUserType != null, t => t.EmailNoticeUserTypeList.Any(t => t.UserType == inQuery.CopyUserType && t.EmailUserType == EmailUserType.Copy))
|
|
|
|
.WhereIf(inQuery.CopyUserType != null, t => t.EmailNoticeUserTypeList.Any(t => t.UserType == inQuery.CopyUserType && t.EmailUserType == EmailUserType.Copy))
|
|
|
|
.WhereIf(trialConfig.IsEnrollementQualificationConfirm == false, t => t.BusinessModuleEnum != BusinessModule.EligibilityVerification)
|
|
|
|
|
|
|
|
.WhereIf(trialConfig.IsPDProgressView == false, t => t.BusinessModuleEnum != BusinessModule.PDVerification)
|
|
|
|
|
|
|
|
.WhereIf(trialConfig.IsPDProgressView == false && trialConfig.IsEnrollementQualificationConfirm == false, t => t.BusinessModuleEnum != BusinessModule.PDVerification
|
|
|
|
|
|
|
|
&& t.BusinessModuleEnum != BusinessModule.EligibilityVerification)
|
|
|
|
|
|
|
|
.ProjectTo<TrialSelectEmailNoticeConfigView>(_mapper.ConfigurationProvider, new { trialId = inQuery.TrialId });
|
|
|
|
.ProjectTo<TrialSelectEmailNoticeConfigView>(_mapper.ConfigurationProvider, new { trialId = inQuery.TrialId });
|
|
|
|
|
|
|
|
|
|
|
|
return await emailNoticeConfigQueryable.ToPagedListAsync(inQuery);
|
|
|
|
return await emailNoticeConfigQueryable.ToPagedListAsync(inQuery);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public async Task<IResponseOutput> BatchAddEnrollOrPdEmailConfig(Guid trialId)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var trialConfig = _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.IsEnrollementQualificationConfirm, t.IsPDProgressView }).First();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var emailNoticeConfigQueryable = _emailNoticeConfigRepository
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.WhereIf(trialConfig.IsEnrollementQualificationConfirm == true, t => t.BusinessModuleEnum == BusinessModule.EligibilityVerification)
|
|
|
|
|
|
|
|
.WhereIf(trialConfig.IsPDProgressView == true, t => t.BusinessModuleEnum == BusinessModule.PDVerification)
|
|
|
|
|
|
|
|
.WhereIf(trialConfig.IsPDProgressView == true && trialConfig.IsEnrollementQualificationConfirm == true, t => t.BusinessModuleEnum == BusinessModule.PDVerification
|
|
|
|
|
|
|
|
&& t.BusinessModuleEnum == BusinessModule.EligibilityVerification)
|
|
|
|
|
|
|
|
.ProjectTo<TrialSelectEmailNoticeConfigView>(_mapper.ConfigurationProvider);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var list = await emailNoticeConfigQueryable.ToListAsync();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return await BatchAddSysEmailConfig(_mapper.Map<List<BatchAddTrialEmailNoticeConfig>>(list.Where(t => t.IsHaveSelected == false).ToList()));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// <summary>
|
|
|
|
/// 批量勾选 传递列表每行数据,后台进行处理转换,建立关联关系
|
|
|
|
/// 批量勾选 传递列表每行数据,后台进行处理转换,建立关联关系
|
|
|
|
/// </summary>
|
|
|
|
/// </summary>
|
|
|
|
@ -1345,13 +1320,32 @@ namespace IRaCIS.Core.Application.Service
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public async Task<IResponseOutput> BatchAddEnrollOrPdEmailConfig(Guid trialId)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var trialConfig = _trialRepository.Where(t => t.Id == trialId).Select(t => new { t.IsEnrollementQualificationConfirm, t.IsPDProgressView }).First();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var trialEmailNoticeConfigQueryable = _trialEmailNoticeConfigRepository.Where(t => t.TrialId == trialId)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.WhereIf(trialConfig.IsEnrollementQualificationConfirm == true, t => t.BusinessModuleEnum == BusinessModule.EligibilityVerification)
|
|
|
|
|
|
|
|
.WhereIf(trialConfig.IsPDProgressView == true, t => t.BusinessModuleEnum == BusinessModule.PDVerification)
|
|
|
|
|
|
|
|
.WhereIf(trialConfig.IsPDProgressView == true && trialConfig.IsEnrollementQualificationConfirm == true, t => t.BusinessModuleEnum == BusinessModule.PDVerification
|
|
|
|
|
|
|
|
&& t.BusinessModuleEnum == BusinessModule.EligibilityVerification)
|
|
|
|
|
|
|
|
.ProjectTo<TrialEmailNoticeConfigView>(_mapper.ConfigurationProvider);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var list = await trialEmailNoticeConfigQueryable.ToListAsync();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return await BatchAddSysEmailConfig(_mapper.Map<List<BatchAddTrialEmailNoticeConfig>>(list));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
[HttpPost]
|
|
|
|
[HttpPost]
|
|
|
|
public async Task<IResponseOutput<List<TrialEmailNoticeConfigView>>> GetTrialEmailNoticeConfigList(TrialEmailNoticeConfigQuery inQuery)
|
|
|
|
public async Task<IResponseOutput<List<TrialEmailNoticeConfigView>>> GetTrialEmailNoticeConfigList(TrialEmailNoticeConfigQuery inQuery)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//await SyncSystemEmainCofigDocListAsync(inQuery.TrialId);
|
|
|
|
//await SyncSystemEmainCofigDocListAsync(inQuery.TrialId);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var trialConfig = _trialRepository.Where(t => t.Id == inQuery.TrialId).Select(t => new { t.IsEnrollementQualificationConfirm, t.IsPDProgressView }).First();
|
|
|
|
|
|
|
|
|
|
|
|
var trialEmailNoticeConfigQueryable = _trialEmailNoticeConfigRepository.Where(t => t.TrialId == inQuery.TrialId)
|
|
|
|
var trialEmailNoticeConfigQueryable = _trialEmailNoticeConfigRepository.Where(t => t.TrialId == inQuery.TrialId)
|
|
|
|
.WhereIf(inQuery.IsDistinguishCriteria == false, t => t.TrialReadingCriterionId == null)
|
|
|
|
.WhereIf(inQuery.IsDistinguishCriteria == false, t => t.TrialReadingCriterionId == null)
|
|
|
|
@ -1364,7 +1358,10 @@ namespace IRaCIS.Core.Application.Service
|
|
|
|
.WhereIf(inQuery.CopyUserType != null, t => t.TrialEmailNoticeUserList.Any(t => t.UserType == inQuery.CopyUserType && t.EmailUserType == EmailUserType.Copy))
|
|
|
|
.WhereIf(inQuery.CopyUserType != null, t => t.TrialEmailNoticeUserList.Any(t => t.UserType == inQuery.CopyUserType && t.EmailUserType == EmailUserType.Copy))
|
|
|
|
|
|
|
|
|
|
|
|
.WhereIf(inQuery.BusinessModuleEnum != null, t => t.BusinessModuleEnum == inQuery.BusinessModuleEnum)
|
|
|
|
.WhereIf(inQuery.BusinessModuleEnum != null, t => t.BusinessModuleEnum == inQuery.BusinessModuleEnum)
|
|
|
|
|
|
|
|
.WhereIf(trialConfig.IsEnrollementQualificationConfirm == false, t => t.BusinessModuleEnum != BusinessModule.EligibilityVerification)
|
|
|
|
|
|
|
|
.WhereIf(trialConfig.IsPDProgressView == false, t => t.BusinessModuleEnum != BusinessModule.PDVerification)
|
|
|
|
|
|
|
|
.WhereIf(trialConfig.IsPDProgressView == false && trialConfig.IsEnrollementQualificationConfirm == false, t => t.BusinessModuleEnum != BusinessModule.PDVerification
|
|
|
|
|
|
|
|
&& t.BusinessModuleEnum != BusinessModule.EligibilityVerification)
|
|
|
|
.ProjectTo<TrialEmailNoticeConfigView>(_mapper.ConfigurationProvider);
|
|
|
|
.ProjectTo<TrialEmailNoticeConfigView>(_mapper.ConfigurationProvider);
|
|
|
|
|
|
|
|
|
|
|
|
var sortField = string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(TrialEmailNoticeConfigView.Code) : inQuery.SortField;
|
|
|
|
var sortField = string.IsNullOrWhiteSpace(inQuery.SortField) ? nameof(TrialEmailNoticeConfigView.Code) : inQuery.SortField;
|
|
|
|
|