private IEnumerable <T> BatchedChildren <T>(ContentReference parentLink) where T : IContent
        {
            var start = 0;

            while (true)
            {
                var batch      = _contentLoaderWrapper.GetChildren <T>(parentLink, _cultureInfo, start, MaxBatchSize);
                var enumerable = batch.ToList();

                if (!enumerable.Any())
                {
                    yield break;
                }

                foreach (var content in enumerable)
                {
                    if (!parentLink.CompareToIgnoreWorkID(content.ParentLink))
                    {
                        continue;
                    }

                    yield return(content);
                }

                start += MaxBatchSize;
            }
        }
Ejemplo n.º 2
0
 public IEnumerable <T> GetChildren <T>(ContentReference contentLink, CultureInfo language, int startIndex, int maxRows) where T : IContentData
 {
     return(_contentLoaderWrapper.GetChildren <T>(contentLink, language, startIndex, maxRows));
 }