public void FillRecursively <Parent>(IRecursiveEntity entity) where Parent : BaseEntity { repository.byUserId = loggedUser.UserID; if (entity != null) { IList <Entity> entities = repository.GetListByParent <Parent>(entity.id); //loadNavigationProperties(context, entities.ToArray()); entity.nodes = new List <IRecursiveEntity>(); foreach (IRecursiveEntity item in entities) { entity.nodes.Add(item); FillRecursively <Parent>(item); } } }
public List <Entity> NestedToSingleList(IRecursiveEntity entity, List <Entity> result) { repository.byUserId = loggedUser.UserID; if (result == null) { result = new List <Entity>(); } if (entity != null) { foreach (var item in entity.nodes) { result.Add((Entity)item); NestedToSingleList(item, result); } } return(result); }