Ejemplo n.º 1
0
        /// <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);
            }
        }
Ejemplo n.º 2
0
        public async Task <FileListReturnType> GetFileList()
        {
            FileListReturnType listReturn = await Folder.GetFileList();

            return(listReturn);
        }