private string GetExternalItemIdFromIdTable(ID itemId) { var idTableEntries = InMemoryIdTable.GetKeys(IdTablePrefix, itemId); if (idTableEntries.Any()) { string key = idTableEntries[0].Key; return(key); } return(null); }
public IEnumerable <T> Children <T>(ItemDefinition parentItem, string idTablePrefix, IEnumerable <T> externalItems, ID rootItemId, InMemoryIdTable inMemoryIdTable) where T : StructuredItem, new() { var idTableEntries = inMemoryIdTable.GetKeys(idTablePrefix, parentItem.ID); if (parentItem.ID == rootItemId) { return(externalItems.Where(a => a.ParentId == null)); } if (idTableEntries.Any()) { var parentKey = idTableEntries.FirstOrDefault(); return(externalItems.Where(a => a.ParentId == parentKey.Key)); } return(new T[0]); }