增加邮件模板验证
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
dd07057ca5
commit
7db339d876
|
@ -30,57 +30,24 @@ namespace IRaCIS.Core.Application.Service.Allocation
|
|||
/// 访视读片任务
|
||||
/// </summary>
|
||||
[ApiExplorerSettings(GroupName = "Trial")]
|
||||
public class VisitTaskService : BaseService, IVisitTaskService
|
||||
public class VisitTaskService(IRepository<VisitTask> _visitTaskRepository,
|
||||
IRepository<Trial> _trialRepository,
|
||||
IRepository<SubjectVisit> _subjectVisitRepository,
|
||||
IRepository<TaskAllocationRule> _taskAllocationRuleRepository,
|
||||
IRepository<Subject> _subjectRepository,
|
||||
IRepository<SubjectUser> _subjectUserRepository,
|
||||
IRepository<ReadModule> _readModuleRepository,
|
||||
IRepository<VisitTaskReReading> _visitTaskReReadingRepository,
|
||||
IRepository<TaskMedicalReview> _taskMedicalReviewRepository,
|
||||
IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository,
|
||||
IRepository<ReadingClinicalData> _readingClinicalDataReposiotry,
|
||||
IRepository<SubjectCriteriaEvaluation> _subjectCriteriaEvaluationRepository,
|
||||
IRepository<SubjectCriteriaEvaluationVisitFilter> _subjectCriteriaEvaluationVisitFilterRepository,
|
||||
IRepository<ReadingQuestionCriterionTrial> _trialReadingCriterionRepository,
|
||||
IRepository<SubjectCriteriaEvaluationVisitStudyFilter> _subjectCriteriaEvaluationVisitStudyFilterRepository) : BaseService, IVisitTaskService
|
||||
{
|
||||
|
||||
private readonly IRepository<VisitTask> _visitTaskRepository;
|
||||
private readonly IRepository<Trial> _trialRepository;
|
||||
private readonly IRepository<SubjectVisit> _subjectVisitRepository;
|
||||
private readonly IRepository<TaskAllocationRule> _taskAllocationRuleRepository;
|
||||
private readonly IRepository<Subject> _subjectRepository;
|
||||
private readonly IRepository<SubjectUser> _subjectUserRepository;
|
||||
private readonly IRepository<ReadModule> _readModuleRepository;
|
||||
|
||||
private readonly IRepository<VisitTaskReReading> _visitTaskReReadingRepository;
|
||||
private readonly IRepository<TaskMedicalReview> _taskMedicalReviewRepository;
|
||||
private readonly IRepository<ReadingTaskQuestionAnswer> _readingTaskQuestionAnswerRepository;
|
||||
|
||||
private readonly IRepository<ReadingClinicalData> _readingClinicalDataReposiotry;
|
||||
private readonly IRepository<SubjectCriteriaEvaluation> _subjectCriteriaEvaluationRepository;
|
||||
private readonly IRepository<SubjectCriteriaEvaluationVisitFilter> _subjectCriteriaEvaluationVisitFilterRepository;
|
||||
|
||||
private readonly IRepository<ReadingQuestionCriterionTrial> _trialReadingCriterionRepository;
|
||||
private readonly IRepository<SubjectCriteriaEvaluationVisitStudyFilter> _subjectCriteriaEvaluationVisitStudyFilterRepository;
|
||||
|
||||
public VisitTaskService(IRepository<SubjectVisit> subjectVisitRepository, IRepository<VisitTask> visitTaskRepository, IRepository<Trial> trialRepository,
|
||||
IRepository<Subject> subjectRepository, IRepository<SubjectUser> subjectUserRepository, IRepository<TaskAllocationRule> taskAllocationRuleRepository,
|
||||
IRepository<ReadModule> readModuleRepository, IRepository<VisitTaskReReading> visitTaskReReadingRepository,
|
||||
IRepository<TaskMedicalReview> taskMedicalReviewRepository,
|
||||
IRepository<ReadingTaskQuestionAnswer> readingTaskQuestionAnswerRepository
|
||||
, IRepository<ReadingQuestionCriterionTrial> trialReadingCriterionRepository,
|
||||
IRepository<ReadingClinicalData> readingClinicalDataReposiotry,
|
||||
IRepository<SubjectCriteriaEvaluation> subjectCriteriaEvaluationRepository,
|
||||
IRepository<SubjectCriteriaEvaluationVisitFilter> subjectCriteriaEvaluationVisitFilterRepository,
|
||||
IRepository<SubjectCriteriaEvaluationVisitStudyFilter> subjectCriteriaEvaluationVisitStudyFilterRepository
|
||||
)
|
||||
{
|
||||
_readingClinicalDataReposiotry = readingClinicalDataReposiotry;
|
||||
_taskAllocationRuleRepository = taskAllocationRuleRepository;
|
||||
_visitTaskRepository = visitTaskRepository;
|
||||
_trialRepository = trialRepository;
|
||||
_subjectVisitRepository = subjectVisitRepository;
|
||||
_subjectRepository = subjectRepository;
|
||||
_subjectUserRepository = subjectUserRepository;
|
||||
_readModuleRepository = readModuleRepository;
|
||||
_visitTaskReReadingRepository = visitTaskReReadingRepository;
|
||||
_taskMedicalReviewRepository = taskMedicalReviewRepository;
|
||||
_readingTaskQuestionAnswerRepository = readingTaskQuestionAnswerRepository;
|
||||
|
||||
_trialReadingCriterionRepository = trialReadingCriterionRepository;
|
||||
_subjectCriteriaEvaluationRepository = subjectCriteriaEvaluationRepository;
|
||||
_subjectCriteriaEvaluationVisitFilterRepository = subjectCriteriaEvaluationVisitFilterRepository;
|
||||
_subjectCriteriaEvaluationVisitStudyFilterRepository = subjectCriteriaEvaluationVisitStudyFilterRepository;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置任务加急
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
using IRaCIS.Core.Domain.Share;
|
||||
using IRaCIS.Core.Infra.EFCore;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace IRaCIS.Core.Application.Contracts
|
||||
{
|
||||
|
@ -44,6 +45,16 @@ namespace IRaCIS.Core.Application.Contracts
|
|||
VerifyMsg = _localizer["EmailNoticeConfig_RepeatEmailScenario"]
|
||||
};
|
||||
|
||||
// 匹配所有占位符的正则表达式,允许包含空格的占位符
|
||||
var regex = new Regex(@"\{\s*\d+\s*\}");
|
||||
|
||||
if (regex.Matches($"{addOrEditEmailNoticeConfig.EmailTopic}{addOrEditEmailNoticeConfig.EmailTopicCN}{addOrEditEmailNoticeConfig.EmailHtmlContent}{addOrEditEmailNoticeConfig.EmailHtmlContentCN}" )
|
||||
.Any(t=>t.Value.Contains(" ")))
|
||||
{
|
||||
//邮件模板占位符不允许有空格,请核查占位符的地方
|
||||
return ResponseOutput.NotOk("EmailNoticeConfig_ContainEmpty");
|
||||
}
|
||||
|
||||
|
||||
if (addOrEditEmailNoticeConfig.Id == null)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue