Example #1
0
        private static PageStructureRecord GetPageStructureRecord(Guid pageId)
        {
            var cacheKey = pageId;
            ExtendedNullable <PageStructureRecord> cachedValue = _pageStructureCache.Get(cacheKey);

            if (cachedValue != null)
            {
                Verify.That(cachedValue.HasValue, "Incorrect usage of cache.");
                return(cachedValue.Value);
            }

            PageStructureRecord result =
                (from ps in DataFacade.GetData <IPageStructure>(false)
                 where ps.Id == pageId
                 select new PageStructureRecord
            {
                ParentId = ps.ParentId,
                LocalOrdering = ps.LocalOrdering
            }).FirstOrDefault();

            if (result == null)
            {
                Log.LogWarning(LogTitle, $"No IPageStructure entries found for Page with Id '{pageId}'");
            }

            _pageStructureCache.Add(cacheKey, result);

            return(result);
        }
Example #2
0
        /// <exclude />
        public static int GetLocalOrdering(Guid pageId)
        {
            PageStructureRecord pageStructure = GetPageStructureRecord(pageId);

            return(pageStructure?.LocalOrdering ?? 0);
        }
Example #3
0
        /// <exclude />
        public static int GetLocalOrdering(Guid pageId)
        {
            PageStructureRecord pageStructure = GetPageStructureRecord(pageId);

            return(pageStructure != null ? pageStructure.LocalOrdering : 0);
        }
Example #4
0
        /// <exclude />
        public static Guid GetParentId(Guid pageId)
        {
            PageStructureRecord pageStructure = GetPageStructureRecord(pageId);

            return(pageStructure?.ParentId ?? Guid.Empty);
        }
Example #5
0
        /// <exclude />
        public static Guid GetParentId(Guid pageId)
        {
            PageStructureRecord pageStructure = GetPageStructureRecord(pageId);

            return(pageStructure != null ? pageStructure.ParentId : Guid.Empty);
        }