diff --git a/IRaCIS.Core.Application/Service/Common/CommonDocumentService.cs b/IRaCIS.Core.Application/Service/Common/CommonDocumentService.cs index 296f987d..0328e088 100644 --- a/IRaCIS.Core.Application/Service/Common/CommonDocumentService.cs +++ b/IRaCIS.Core.Application/Service/Common/CommonDocumentService.cs @@ -52,8 +52,23 @@ namespace IRaCIS.Core.Application.Service VerifyMsg = "文档的Code不能够重复。" }; + //var verifyExp3 = new EntityVerifyExp() + //{ + // VerifyExp = t => t.Code == addOrEditCommonDocument.Code && t.CriterionTypeEnum==addOrEditCommonDocument.CriterionTypeEnum, + // VerifyMsg = "标准邮件文档的Code不能够重复。", + // IsVerify= addOrEditCommonDocument.CriterionTypeEnum != null + //}; - if (addOrEditCommonDocument.CriterionTypeEnum != null && addOrEditCommonDocument.CriterionTypeEnum != Domain.Share.CriterionType.NoCriterion) + var verifyExp2 = new EntityVerifyExp() + { + VerifyExp = t => t.CriterionTypeEnum == addOrEditCommonDocument.CriterionTypeEnum && t.BusinessScenarioEnum==addOrEditCommonDocument.BusinessScenarioEnum && + t.IsDeleted==addOrEditCommonDocument.IsDeleted, + VerifyMsg = "一个场景一个标准只允许有一个模板文档", + IsVerify=addOrEditCommonDocument.CriterionTypeEnum !=null && addOrEditCommonDocument.IsDeleted==false + }; + + + if (addOrEditCommonDocument.CriterionTypeEnum != null && addOrEditCommonDocument.CriterionTypeEnum != null) { var testValue = new Dictionary() { @@ -86,7 +101,7 @@ namespace IRaCIS.Core.Application.Service } } - var entity = await _commonDocumentRepository.InsertOrUpdateAsync(addOrEditCommonDocument, true, verifyExp1); + var entity = await _commonDocumentRepository.InsertOrUpdateAsync(addOrEditCommonDocument, true, verifyExp1, verifyExp2); return ResponseOutput.Ok(entity.Id.ToString()); diff --git a/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs b/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs index a7d2bfdd..51fd37c7 100644 --- a/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs +++ b/IRaCIS.Core.Application/Service/Document/TrialEmailNoticeConfigService.cs @@ -171,7 +171,7 @@ namespace IRaCIS.Core.Application.Service #endregion - #region 发收件人配置 + #region 发收件人配置 确保无误 var sendEmailConfig = new SMTPEmailConfig(); @@ -180,6 +180,12 @@ namespace IRaCIS.Core.Application.Service var copyUserList = _repository.Where(t => t.TrialId == taskInfo.TrialId && emailConfig.TrialEmailNoticeUserList.Where(t => t.EmailUserType == EmailUserType.Copy).Select(c => c.UserType).Contains(t.User.UserTypeEnum)).Select(t => new { t.User.EMail, t.User.FullName }); + if (toUserList.Count() == 0) + { + throw new BusinessValidationFailedException("没有收件人,无法发送邮件"); + } + + if (emailConfig.FromEmail.Contains("@") && !string.IsNullOrEmpty(emailConfig.FromEmail)) { @@ -217,9 +223,7 @@ namespace IRaCIS.Core.Application.Service #endregion - - - + #region 确保 邮件Html存在 //邮件附件 var path = FileStoreHelper.GetPhysicalFilePath(_hostEnvironment, emailConfig.FilePath); @@ -236,6 +240,10 @@ namespace IRaCIS.Core.Application.Service + Path.DirectorySeparatorChar.ToString() + "SubjectEnrollConfirmOrPDProgress.html"; + #endregion + + + var answer = "否"; var isNeedSend = true; @@ -493,6 +501,9 @@ namespace IRaCIS.Core.Application.Service isNeedSend=false; } + #region MiniWord 组织字典 发送 + + #endregion if (isNeedSend) { var value = new Dictionary()