diff --git a/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs b/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs index 08b2cd225..78764963b 100644 --- a/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs +++ b/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs @@ -533,14 +533,32 @@ public class AuditDocumentService(IRepository _auditDocumentRepos List allid = new List(); findChild(allid, inDto.Ids, data); - - await _auditDocumentRepository.UpdatePartialFromQueryAsync(t => allid.Contains(t.Id), x => new AuditDocument() { + if (inDto.IsAuthorization) + { + findParent(allid, inDto.Ids, data); + } + allid= allid.Distinct().ToList(); + await _auditDocumentRepository.UpdatePartialFromQueryAsync(t => allid.Contains(t.Id), x => new AuditDocument() { IsAuthorization = inDto.IsAuthorization }); await _auditDocumentRepository.SaveChangesAsync(); return ResponseOutput.Ok(); + void findParent(List allId, List current, List data) + { + allId.AddRange(current); + var parent = data.Where(x => current.Contains(x.Id)).Select(x => x.Id).ToList(); + + if (parent.Count() > 0) + { + + + findChild(allId, parent, data); + + } + } + void findChild(List allId,List current, List data) { allId.AddRange(current);