public Task <PageInfoCollection> List(PageQuery query) { if (query.File != null) { return(Task.FromResult(new PageInfoCollection(query, 1, new PageInfo[] { new PageInfo(query.File) }))); } else { var fileQuery = fileFinder.EnumerateContentFiles("", "*.html", SearchOption.AllDirectories); var total = fileQuery.Count(); fileQuery = fileQuery.Skip(query.SkipTo(total)).Take(query.Limit); return(Task.FromResult(new PageInfoCollection(query, total, fileQuery.Select(i => new PageInfo(i))))); } }