示例#1
0
        private string GetExternalItemIdFromIdTable(ID itemId)
        {
            var idTableEntries = InMemoryIdTable.GetKeys(IdTablePrefix, itemId);

            if (idTableEntries.Any())
            {
                string key = idTableEntries[0].Key;

                return(key);
            }

            return(null);
        }
示例#2
0
        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]);
        }