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);
            }
        }
예제 #3
0
        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);
            }
        }