From 13263cf39c0a3831787851e9193e4ca48cd62df6 Mon Sep 17 00:00:00 2001
From: hang <872297557@qq.com>
Date: Mon, 21 Aug 2023 15:28:26 +0800
Subject: [PATCH] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E9=82=AE=E4=BB=B6=E9=85=8D?=
=?UTF-8?q?=E7=BD=AE=E9=A2=84=E5=85=88=E4=BF=AE=E6=94=B9-002?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
IRaCIS.Core.API/IRaCIS.Core.API.xml | 2 +-
.../Common/DTO/EmailNoticeConfigViewModel.cs | 6 ++
.../Common/EmailNoticeConfigService.cs | 55 +++++++++++++++++--
.../Service/Common/_MapConfig.cs | 4 ++
.../Common/EmailNoticeConfig.cs | 7 ++-
5 files changed, 68 insertions(+), 6 deletions(-)
diff --git a/IRaCIS.Core.API/IRaCIS.Core.API.xml b/IRaCIS.Core.API/IRaCIS.Core.API.xml
index 1324dfafd..7812272dd 100644
--- a/IRaCIS.Core.API/IRaCIS.Core.API.xml
+++ b/IRaCIS.Core.API/IRaCIS.Core.API.xml
@@ -227,7 +227,7 @@
- 数据上传、导出、 邮件附件 、邮件Html 通过 ----new
+ 1:数据上传 2:导出、 3:邮件附件 4:邮件Html 通过 ----new
diff --git a/IRaCIS.Core.Application/Service/Common/DTO/EmailNoticeConfigViewModel.cs b/IRaCIS.Core.Application/Service/Common/DTO/EmailNoticeConfigViewModel.cs
index 6f03964d3..da793f91b 100644
--- a/IRaCIS.Core.Application/Service/Common/DTO/EmailNoticeConfigViewModel.cs
+++ b/IRaCIS.Core.Application/Service/Common/DTO/EmailNoticeConfigViewModel.cs
@@ -103,9 +103,15 @@ namespace IRaCIS.Core.Application.Contracts
public string EmailHtmlName { get; set; }
public string EmailHtmlNameCN { get; set; }
+
+ public List ToUserTypeList { get; set; }
+ public List CopyUserTypeList { get; set; }
+
}
+
+
}
diff --git a/IRaCIS.Core.Application/Service/Common/EmailNoticeConfigService.cs b/IRaCIS.Core.Application/Service/Common/EmailNoticeConfigService.cs
index 06c8d5430..aa3a5d652 100644
--- a/IRaCIS.Core.Application/Service/Common/EmailNoticeConfigService.cs
+++ b/IRaCIS.Core.Application/Service/Common/EmailNoticeConfigService.cs
@@ -17,10 +17,12 @@ namespace IRaCIS.Core.Application.Contracts
public class EmailNoticeConfigService : BaseService, IEmailNoticeConfigService
{
private readonly IRepository _emailNoticeConfigrepository;
+ private readonly IRepository _emailNoticeUserTypeRepository;
- public EmailNoticeConfigService(IRepository repository)
+ public EmailNoticeConfigService(IRepository repository, IRepository emailNoticeUserTypeRepository)
{
_emailNoticeConfigrepository = repository;
+ _emailNoticeUserTypeRepository = emailNoticeUserTypeRepository;
}
[HttpPost]
@@ -38,10 +40,55 @@ namespace IRaCIS.Core.Application.Contracts
public async Task AddOrUpdateEmailNoticeConfig(EmailNoticeConfigAddOrEdit addOrEditEmailNoticeConfig)
{
-
- var entity = await _emailNoticeConfigrepository.InsertOrUpdateAsync(addOrEditEmailNoticeConfig, true);
+ if (addOrEditEmailNoticeConfig.Id == null)
+ {
+
+ var entity = _mapper.Map(addOrEditEmailNoticeConfig);
+
+
+ foreach (var item in addOrEditEmailNoticeConfig.ToUserTypeList)
+ {
+ entity.EmailNoticeUserTypeList.Add(new EmailNoticeUserType() { EmailUserType = EmailUserType.To, UserType = item });
+
+ }
+
+ foreach (var item in addOrEditEmailNoticeConfig.CopyUserTypeList)
+ {
+ entity.EmailNoticeUserTypeList.Add(new EmailNoticeUserType() { EmailUserType = EmailUserType.Copy, UserType = item });
+
+ }
+
+
+ await _emailNoticeConfigrepository.AddAsync(entity, true);
+
+ return ResponseOutput.Ok(entity.Id.ToString());
+ }
+ else
+ {
+ var emailNoticeConfigId = addOrEditEmailNoticeConfig.Id;
+ await _emailNoticeUserTypeRepository.BatchDeleteNoTrackingAsync(t => t.EmailNoticeConfigId == emailNoticeConfigId);
+
+
+ foreach (var item in addOrEditEmailNoticeConfig.ToUserTypeList)
+ {
+ await _emailNoticeUserTypeRepository.AddAsync(new EmailNoticeUserType() { EmailUserType = EmailUserType.To, UserType = item,EmailNoticeConfigId= (Guid)emailNoticeConfigId });
+
+ }
+
+ foreach (var item in addOrEditEmailNoticeConfig.CopyUserTypeList)
+ {
+ await _emailNoticeUserTypeRepository.AddAsync(new EmailNoticeUserType() { EmailUserType = EmailUserType.Copy, UserType = item, EmailNoticeConfigId = (Guid)emailNoticeConfigId });
+
+ }
+
+
+ var entity = await _emailNoticeConfigrepository.UpdateFromDTOAsync(addOrEditEmailNoticeConfig, true);
+
+ return ResponseOutput.Ok(entity.Id.ToString());
+
+
+ }
- return ResponseOutput.Ok(entity.Id.ToString());
}
diff --git a/IRaCIS.Core.Application/Service/Common/_MapConfig.cs b/IRaCIS.Core.Application/Service/Common/_MapConfig.cs
index c3e4f56c4..9c7238886 100644
--- a/IRaCIS.Core.Application/Service/Common/_MapConfig.cs
+++ b/IRaCIS.Core.Application/Service/Common/_MapConfig.cs
@@ -20,6 +20,10 @@ namespace IRaCIS.Core.Application.Service
CreateMap().ReverseMap();
CreateMap().ReverseMap();
+
+
+
+
CreateMap();
CreateMap()
diff --git a/IRaCIS.Core.Domain/Common/EmailNoticeConfig.cs b/IRaCIS.Core.Domain/Common/EmailNoticeConfig.cs
index 9752aa344..f7f26639d 100644
--- a/IRaCIS.Core.Domain/Common/EmailNoticeConfig.cs
+++ b/IRaCIS.Core.Domain/Common/EmailNoticeConfig.cs
@@ -18,6 +18,8 @@ namespace IRaCIS.Core.Domain.Models
[Table("EmailNoticeConfig")]
public class EmailNoticeConfig : Entity, IAuditUpdate, IAuditAdd,ISoftDelete
{
+ [JsonIgnore]
+ public List EmailNoticeUserTypeList { get; set; }
public string Code { get; set; } = String.Empty;
public CommonDocumentBusinessScenario BusinessScenarioEnum { get; set; }
@@ -63,6 +65,9 @@ namespace IRaCIS.Core.Domain.Models
public string EmailHtmlNameCN { get; set; }
+
+
+
///
/// 是否区分标准
///
@@ -103,7 +108,7 @@ namespace IRaCIS.Core.Domain.Models
[Table("EmailNoticeUserType")]
- public class EmailNoticeUserType
+ public class EmailNoticeUserType:Entity
{
[JsonIgnore]
public EmailNoticeConfig EmailNoticeConfig { get; set; }