public async void DeleteFilesAsync() { try { if (SteamAppsFolder.Exists) { await Task.Run(() => SteamAppsFolder.Delete(true)); } if (WorkshopFolder.Exists) { await Task.Run(() => WorkshopFolder.Delete(true)); } if (DownloadFolder.Exists) { await Task.Run(() => DownloadFolder.Delete(true)); } } catch (Exception ex) { logger.Fatal(ex); SLM.RavenClient.Capture(new SharpRaven.Data.SentryEvent(ex)); } }
public async void DeleteFilesAsync() { try { if (SteamAppsFolder.Exists) { await Task.Run(() => SteamAppsFolder.Delete(true)); } if (WorkshopFolder.Exists) { await Task.Run(() => WorkshopFolder.Delete(true)); } if (DownloadFolder.Exists) { await Task.Run(() => DownloadFolder.Delete(true)); } } catch (Exception ex) { logger.Fatal(ex); } }
public async Task <bool> DeleteFilesAsync(List.TaskInfo CurrentTask = null) { try { if (IsCompressed) { CompressedArchiveName.Refresh(); if (CompressedArchiveName.Exists) { await Task.Run(() => CompressedArchiveName.Delete()); } } else { List <FileInfo> FileList = GetFileList(); if (FileList.Count > 0) { Parallel.ForEach(FileList, currentFile => { try { CurrentTask?.mre.WaitOne(); currentFile.Refresh(); if (currentFile.Exists) { if (CurrentTask != null) { CurrentTask.mre.WaitOne(); CurrentTask.TaskStatusInfo = Framework.StringFormat.Format(Functions.SLM.Translate(nameof(Properties.Resources.TaskStatus_DeletingFile)), new { FileName = currentFile.Name, FormattedFileSize = Functions.FileSystem.FormatBytes(currentFile.Length) }); if (CurrentTask.ReportFileMovement) { Main.FormAccessor.TaskManager_Logs.Report($"[{DateTime.Now}] [{AppName}] {Framework.StringFormat.Format(Functions.SLM.Translate(nameof(Properties.Resources.TaskStatus_DeletingFile)), new { FileName = currentFile.Name, FormattedFileSize = Functions.FileSystem.FormatBytes(currentFile.Length) })}"); } } File.SetAttributes(currentFile.FullName, FileAttributes.Normal); currentFile.Delete(); } } catch (Exception ex) { Logger.Fatal(ex); } } ); } CommonFolder.Refresh(); // common folder, if exists if (CommonFolder.Exists) { await Task.Run(() => CommonFolder.Delete(true)); } DownloadFolder.Refresh(); // downloading folder, if exists if (DownloadFolder.Exists) { await Task.Run(() => DownloadFolder.Delete(true)); } WorkShopPath.Refresh(); // workshop folder, if exists if (WorkShopPath.Exists) { await Task.Run(() => WorkShopPath.Delete(true)); } FullAcfPath.Refresh(); // game .acf file if (FullAcfPath.Exists) { File.SetAttributes(FullAcfPath.FullName, FileAttributes.Normal); FullAcfPath.Delete(); } WorkShopAcfPath.Refresh(); // workshop .acf file if (WorkShopAcfPath.Exists) { File.SetAttributes(WorkShopAcfPath.FullName, FileAttributes.Normal); WorkShopAcfPath.Delete(); } if (CurrentTask != null) { CurrentTask.TaskStatusInfo = ""; } } return(true); } catch (FileNotFoundException ex) { Logger.Error(ex); return(true); } catch (DirectoryNotFoundException ex) { Logger.Error(ex); return(true); } catch (IOException ex) { Logger.Error(ex); return(true); } catch (UnauthorizedAccessException ex) { Logger.Error(ex); return(true); } catch (Exception ex) { MessageBox.Show(ex.ToString()); Logger.Fatal(ex); return(false); } }
public async Task <bool> DeleteFilesAsync(List.TaskInfo CurrentTask = null) { try { if (IsCompressed) { CompressedArchiveName.Refresh(); if (CompressedArchiveName.Exists) { await Task.Run(() => CompressedArchiveName.Delete()); } } else { List <FileInfo> FileList = GetFileList(); if (FileList.Count > 0) { Parallel.ForEach(FileList, currentFile => { try { CurrentTask?.mre.WaitOne(); currentFile.Refresh(); if (currentFile.Exists) { if (CurrentTask != null) { CurrentTask.mre.WaitOne(); CurrentTask.TaskStatusInfo = $"Deleting: {currentFile.Name} ({Functions.FileSystem.FormatBytes(currentFile.Length)})"; Main.FormAccessor.TaskManager_Logs.Add($"[{DateTime.Now}] [{CurrentTask.SteamApp.AppName}] Deleting file: {currentFile.FullName}"); } File.SetAttributes(currentFile.FullName, FileAttributes.Normal); currentFile.Delete(); } } catch (Exception ex) { logger.Fatal(ex); } } ); } CommonFolder.Refresh(); // common folder, if exists if (CommonFolder.Exists) { await Task.Run(() => CommonFolder.Delete(true)); } DownloadFolder.Refresh(); // downloading folder, if exists if (DownloadFolder.Exists) { await Task.Run(() => DownloadFolder.Delete(true)); } WorkShopPath.Refresh(); // workshop folder, if exists if (WorkShopPath.Exists) { await Task.Run(() => WorkShopPath.Delete(true)); } FullAcfPath.Refresh(); // game .acf file if (FullAcfPath.Exists) { File.SetAttributes(FullAcfPath.FullName, FileAttributes.Normal); FullAcfPath.Delete(); } WorkShopAcfPath.Refresh(); // workshop .acf file if (WorkShopAcfPath.Exists) { File.SetAttributes(WorkShopAcfPath.FullName, FileAttributes.Normal); WorkShopAcfPath.Delete(); } if (CurrentTask != null) { CurrentTask.TaskStatusInfo = ""; } } return(true); } catch (FileNotFoundException ex) { logger.Error(ex); return(true); } catch (DirectoryNotFoundException ex) { logger.Error(ex); return(true); } catch (IOException ex) { logger.Error(ex); return(true); } catch (UnauthorizedAccessException ex) { logger.Error(ex); return(true); } catch (Exception ex) { MessageBox.Show(ex.ToString()); logger.Fatal(ex); await SLM.RavenClient.CaptureAsync(new SharpRaven.Data.SentryEvent(ex)); return(false); } }
public override async Task <bool> DeleteFilesAsync(List.TaskInfo CurrentTask = null) { try { if (IsCompressed) { CompressedArchivePath.Refresh(); if (CompressedArchivePath.Exists) { await Task.Run(() => CompressedArchivePath.Delete()).ConfigureAwait(false); } } else { await base.DeleteFilesAsync(); DownloadFolder.Refresh(); // downloading folder, if exists if (DownloadFolder.Exists) { await Task.Run(() => DownloadFolder.Delete(true)).ConfigureAwait(false); } WorkShopPath.Refresh(); // workshop folder, if exists if (WorkShopPath.Exists) { await Task.Run(() => WorkShopPath.Delete(true)).ConfigureAwait(false); } FullAcfPath.Refresh(); // game .acf file if (FullAcfPath.Exists) { File.SetAttributes(FullAcfPath.FullName, FileAttributes.Normal); FullAcfPath.Delete(); } WorkShopAcfPath.Refresh(); // workshop .acf file if (WorkShopAcfPath.Exists) { File.SetAttributes(WorkShopAcfPath.FullName, FileAttributes.Normal); WorkShopAcfPath.Delete(); } if (CurrentTask != null) { CurrentTask.TaskStatusInfo = ""; } } return(true); } catch (FileNotFoundException ex) { Logger.Error(ex); return(true); } catch (DirectoryNotFoundException ex) { Logger.Error(ex); return(true); } catch (IOException ex) { Logger.Error(ex); return(true); } catch (UnauthorizedAccessException ex) { Logger.Error(ex); return(true); } catch (Exception ex) { MessageBox.Show(ex.ToString()); Logger.Fatal(ex); return(false); } }