private void ProcessFileEntry(FileEntry fileEntry) { //Get rid of any streams that will be empty if (fileEntry.Filesize == 0) { fileEntry.Stream?.Dispose(); fileEntry.Stream = null; } //Add to the correct if (fileEntry.IsDeltaFile()) { DeltaFile.Add(fileEntry); return; } if (fileEntry.IsNewFile()) { NewFile.Add(fileEntry); return; } if (fileEntry.DeltaExtension.EndsWith("load")) { LoaderFile = fileEntry; return; } SameFile.Add(fileEntry); }
/// <summary> /// Loads everything from a <see cref="IAsyncEnumerable{T}"/> into this <see cref="UpdateEntry"/> /// </summary> /// <param name="fileEntries">File entries to load in</param> public async Task LoadAsyncEnumerable(IAsyncEnumerable <FileEntry?> fileEntries) { await foreach (var fileEntry in fileEntries) { /*If the fileEntry is null then something happened while grabbing* * the update files, clear out*/ if (fileEntry == null) { DeltaFile.Clear(); SameFile.Clear(); NewFile.Clear(); break; } ProcessFileEntry(fileEntry); } }
private async void Button2_Click(object sender, EventArgs e) { //tokenSource = new CancellationTokenSource(); //token = tokenSource.Token; //task = Task.Run(() => doSomething(200),token); //try { // await task; //} //catch (Exception ex) //{ // log.Log("task isCanceled:" + task.IsCanceled.ToString()); // log.Log("task isCompleted" + task.IsCompleted.ToString()); //} // log.Log(Path.GetExtension("intervju.docx")); //FileInfo oneFile = new FileInfo(@"c:\test AB\intervju.docx"); //FileInfo twoFile = oneFile.; //Get original files list try { //this.SetFolderButtonStatus(false); StartNewTask(); CheckFileParameter param = new CheckFileParameter(); param.OutputDirectory = this.lbDestination.Text.Trim(); param.OriginalDirectory = this.lbOriginal.Text.Trim(); param.OutputFileExtension = "pdf"; param.OriginalExtension = "pdf"; param.AllExtensionOfLibreOfficeSupporting = "pdf"; SameFile Threading = new SameFile(this.log, this.tokenSource, param); Task task = Threading.Run(); await task; // } catch (Exception ex) { log.RecordError(ex.Message); //this.SetFolderButtonStatus(true); } finally { //this.SetFolderButtonStatus(true); } }