/// <summary> /// Indexes folder. /// </summary> /// <returns></returns> public async Task <FileListReturnType> GetFileList() { List <File> fileList = new List <File>(); PercentDone = 1; //causes progress bar to turn visible, also gives a sense that the operation has started (so they don't think it has frozen). FileListReturnType fileListReturn = new FileListReturnType(); IReadOnlyList <StorageFile> filesInFolder; try { filesInFolder = await Folder.GetFilesAsync(CommonFileQuery.OrderByName); } catch (Exception e) { fileListReturn.Success = false; fileListReturn.ErrorMessage = e.Message; filesInFolder = null; } if (filesInFolder != null) { numberOfFiles = filesInFolder.Count; foreach (var currentFile in filesInFolder) { DateTimeOffset dateCreated = currentFile.DateCreated; string name = currentFile.Name; string path = currentFile.Path; var properties = await currentFile.GetBasicPropertiesAsync(); ulong size = properties.Size; string extension = currentFile.FileType; File newFile = new File(name, dateCreated, path, size, extension); fileList.Add(newFile); Math.Max(PercentDone = ((double)fileList.Count / (double)numberOfFiles) * 100, 1); } PercentDone = 0; } if (filesInFolder != null && filesInFolder.Count > 0) { fileListReturn.Success = true; fileListReturn.FileList = fileList; return(fileListReturn); } else { return(null); } }
public async Task <FileListReturnType> GetFileList() { FileListReturnType listReturn = await Folder.GetFileList(); return(listReturn); }