diff --git a/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs b/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs index 5a889bac6..6af34842c 100644 --- a/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs +++ b/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs @@ -149,9 +149,22 @@ public class AuditDocumentService(IRepository _auditDocumentRepos } [HttpPut] - public async Task DeleteAuditRecordUser(DeleteAuditUserCommand inCommand) + public async Task AddOrDeleteAuditRecordUser(AddOrDeleteAuditUserCommand inCommand) { - await _auditRecordIdentityUserRepository.BatchDeleteNoTrackingAsync(t => t.AuditRecordId == inCommand.AuditRecordId && inCommand.IdentityUserIdList.Contains(t.IdentityUserId)); + if (inCommand.IsAdd) + { + foreach (var identityUserId in inCommand.IdentityUserIdList) + { + await _auditRecordIdentityUserRepository.AddAsync(new AuditRecordIdentityUser() { AuditRecordId = inCommand.AuditRecordId, IdentityUserId = identityUserId }); + } + } + else + { + await _auditRecordIdentityUserRepository.BatchDeleteNoTrackingAsync(t => t.AuditRecordId == inCommand.AuditRecordId && inCommand.IdentityUserIdList.Contains(t.IdentityUserId)); + + } + + await _auditRecordIdentityUserRepository.SaveChangesAsync(); return ResponseOutput.Ok(); } diff --git a/IRaCIS.Core.Application/Service/Document/DTO/AuditDocumentViewModel.cs b/IRaCIS.Core.Application/Service/Document/DTO/AuditDocumentViewModel.cs index 98e251f13..4ade36b57 100644 --- a/IRaCIS.Core.Application/Service/Document/DTO/AuditDocumentViewModel.cs +++ b/IRaCIS.Core.Application/Service/Document/DTO/AuditDocumentViewModel.cs @@ -49,14 +49,16 @@ public class AuditRecordAddOrEdit public AuditType AuditType { get; set; } - public List IdnetityUserIdList { get; set; } + //public List IdnetityUserIdList { get; set; } } -public class DeleteAuditUserCommand +public class AddOrDeleteAuditUserCommand { public Guid AuditRecordId { get; set; } public List IdentityUserIdList { get; set; } + + public bool IsAdd { get; set; } } public class AuditRecordQuery : PageInput