IEnumerable <ThemedFileElement> ReadFileSystem() { string basePath = BasePath.GetBasePath(basePathId); Directory.CreateDirectory(basePath); return(Directory.EnumerateFiles(basePath) .Select(file => new { file, accessTime = File.GetLastAccessTime(file) }) .OrderByDescending(projection => projection.accessTime) .Select(projection => new ThemedFileElement(projection.file, projection.accessTime, basePathId))); }