@@ -200,22 +200,21 @@ public class AuditDocumentService(IRepository<AuditDocument> _auditDocumentRepos
|
||||
|
||||
foreach (var item in list)
|
||||
{
|
||||
|
||||
//闭包表中找到 设置Id为祖先的所有 后代 包括自己
|
||||
var matchIdList = await _auditDocumentClosureRepository.Where(t => item.Id == t.AncestorId).Select(t => t.DescendantId).ToListAsync();
|
||||
|
||||
if (inCommand.IsAuthorization)
|
||||
{
|
||||
//闭包表中找到 设置Id为祖先的所有 后代 包括自己
|
||||
var matchIdList = await _auditDocumentClosureRepository.Where(t => item.Id == t.AncestorId).Select(t => t.DescendantId).ToListAsync();
|
||||
|
||||
|
||||
foreach (var matchItem in matchIdList)
|
||||
{
|
||||
await _auditRecordPermissionRepository.AddAsync(new AuditRecordPermission() { AuditRecordId = inCommand.AuditRecordId, AuditDocumentId = matchItem });
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
await _auditRecordPermissionRepository.DeleteFromQueryAsync(t => t.AuditRecordId == inCommand.AuditRecordId && t.AuditDocumentId == item.Id);
|
||||
await _auditRecordPermissionRepository.BatchDeleteNoTrackingAsync(t => t.AuditRecordId == inCommand.AuditRecordId && matchIdList.Contains(t.AuditDocumentId));
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user