public void UploadFile(string file) { // Modify UI if (FileList.Count == 0) { rowCollapse1.Height = new GridLength(0); rowCollapse2.Height = new GridLength(0); rowExpand.Height = new GridLength(5, GridUnitType.Star); uploadingFilesContainer.Visibility = Visibility.Visible; uploadingFiles.ItemsSource = FileList; clearButton.Visibility = System.Windows.Visibility.Visible; } var uploadingFile = new UploadingFile(file); FileList.Add(uploadingFile); Task.Factory.StartNew(() => { var hash = SharpCrush.GetFileHash(File.ReadAllBytes(file)); uploadingFile.Hash = hash; if (SharpCrush.GetFileExists(hash)) { uploadingFile.Status = UploadingFile.FileStatus.Finished; } else { // Upload SharpCrush.UploadFileAsync(uploadingFile.File, (s, e) => uploadingFile.Progress = e.ProgressPercentage / 100.0, result => { uploadingFile.Status = UploadingFile.FileStatus.Processing; while (SharpCrush.GetFileStatus(hash) == GetFileStatusResult.Processing) { ; } uploadingFile.Status = UploadingFile.FileStatus.Finished; }); } }); }
public void TestFileExists() { Assert.IsFalse(SharpCrush.GetFileExists("LxqXxVPAvqqB")); Assert.IsTrue(SharpCrush.GetFileExists("tVWMM_ziA3nm")); }