internal async Task <IPicLibFolder> InternalGetSnapshotAsync(IStorageFolder current) { var fs = await current.GetFilesAsync(); var folders = await Task.WhenAll((await current.GetFoldersAsync()).Select(async x => await InternalGetSnapshotAsync(x))); var filesLast = (await Task.WhenAll(fs.Select(async x => await x.GetBasicPropertiesAsync()))) .Select(x => x.DateModified) .Aggregate(DateTimeOffset.MinValue, (x, y) => x > y ? x : y); var foldersLast = folders.Select(x => DateTimeOffset.Parse(x.LastFileEditTime)) .Aggregate(DateTimeOffset.MinValue, (x, y) => x > y ? x : y); ; var picf = new PicLibFolder() { FileCount = fs.Count, LastFileEditTime = ((filesLast > foldersLast) ? filesLast : foldersLast).ToString(), UriString = current.Path, Folders = folders }; return(picf); }
internal async Task<IPicLibFolder> InternalGetSnapshotAsync(IStorageFolder current) { var fs = await current.GetFilesAsync(); var folders = await Task.WhenAll((await current.GetFoldersAsync()).Select(async x => await InternalGetSnapshotAsync(x))); var filesLast = (await Task.WhenAll(fs.Select(async x => await x.GetBasicPropertiesAsync()))) .Select(x => x.DateModified) .Aggregate(DateTimeOffset.MinValue, (x, y) => x > y ? x : y); var foldersLast = folders.Select(x => DateTimeOffset.Parse(x.LastFileEditTime)) .Aggregate(DateTimeOffset.MinValue, (x, y) => x > y ? x : y); ; var picf = new PicLibFolder() { FileCount = fs.Count, LastFileEditTime = ((filesLast > foldersLast) ? filesLast : foldersLast).ToString(), UriString = current.Path, Folders = folders }; return picf; }