private static void MarkSecurableItemsDeleted(SecurableItem topLevelSecurableItem) { topLevelSecurableItem.IsDeleted = true; foreach (var securableItem in topLevelSecurableItem.SecurableItems) { MarkSecurableItemsDeleted(securableItem); } }
private void LoadChildrenRecursive(SecurableItem securableItem) { AuthorizationDbContext.Entry(securableItem) .Collection(s => s.SecurableItems) .Load(); foreach (var childSecurableItem in securableItem.SecurableItems) { LoadChildrenRecursive(childSecurableItem); } }
private void LoadChildrenRecursive(SecurableItem securableItem) { if (securableItem.IsDeleted) { return; } AuthorizationDbContext.Entry(securableItem) .Collection(s => s.SecurableItems) .Load(); foreach (var childSecurableItem in securableItem.SecurableItems.Where(p => !p.IsDeleted)) { LoadChildrenRecursive(childSecurableItem); } }