diff --git a/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs b/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs index fc8bc3ba6..d5bea6976 100644 --- a/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs +++ b/IRaCIS.Core.Application/Service/Document/AuditDocumentService.cs @@ -252,9 +252,12 @@ public class AuditDocumentService(IRepository _auditDocumentRepos var root = query .Skip(inDto.PageSize * (inDto.PageIndex - 1)).Take(inDto.PageSize).ToList(); + var historicalVersionList = await _auditDocumentRepository + .Where(x => x.AuditDocumentTypeEnum == AuditDocumentType.HistoricalVersion).ProjectTo(_mapper.ConfigurationProvider).ToListAsync(); + foreach (var item in root) { - GetChildren(item, data); + GetChildren(item, data, historicalVersionList); } result.CurrentPageData = root; @@ -275,13 +278,13 @@ public class AuditDocumentService(IRepository _auditDocumentRepos } - private void GetChildren(AuditDocumentData item, List dataList) + private void GetChildren(AuditDocumentData item, List dataList, List historyList) { item.Children = dataList.Where(x => x.ParentId == item.Id).ToList(); - item.HistoricalVersionsCount= dataList.Where(x => x.MainFileId == item.Id).Count(); + item.HistoricalVersionsCount= historyList.Where(x => x.MainFileId == item.Id).Count(); foreach (var x in item.Children) { - GetChildren(x, dataList); + GetChildren(x, dataList, historyList); } }