예제 #1
0
 public FileDownloadResult DownloadCloudFile(string cloudfileId, string localPath, FileBlock file = null)
 {
     try
     {
         FileDownloadResult result  = new FileDownloadResult();
         FileBlock          newFile = new FileBlock()
         {
             id = cloudfileId,
         };
         Task task = Task.Run(() => cloudService.DownloadCloudFile(newFile, localPath));
         task.Wait();
         result.status = true;
         return(result);
     }
     catch (Exception e)
     {
         throw e;
     }
 }
예제 #2
0
        private void DownloadFiles(List <FileBlock> files)
        {
            List <Task> downloadFilesTask = new List <Task>();

            foreach (var file in files)
            {
                if (file.DownloadStatus == false)
                {
                    downloadFilesTask.Add(Task.Run(() =>
                    {
                        cloudService.DownloadCloudFile(file, toDownloadDirectoryPath);
                        file.DownloadStatus             = true;
                        TransactionFile transactionFile = new TransactionFile();
                        transactionFile.Create(directory);
                    }));
                }
            }
            Task.WaitAll(downloadFilesTask.ToArray());
        }