public override void RemoveItem(String id) { if (GetQueue().Any(v => v.DownloadClientId == id)) { _proxy.RemoveFrom("queue", id, Settings); } else { _proxy.RemoveFrom("history", id, Settings); } }
public override void RemoveItem(string downloadId, bool deleteData) { if (GetQueue().Any(v => v.DownloadId == downloadId)) { _proxy.RemoveFrom("queue", downloadId, deleteData, Settings); } else { _proxy.RemoveFrom("history", downloadId, deleteData, Settings); } }
public override void RemoveItem(DownloadClientItem item, bool deleteData) { var queueClientItem = GetQueue().SingleOrDefault(v => v.DownloadId == item.DownloadId); if (queueClientItem == null) { if (deleteData && item.Status == DownloadItemStatus.Completed) { DeleteItemData(item); } _proxy.RemoveFrom("history", item.DownloadId, deleteData, Settings); } else { _proxy.RemoveFrom("queue", item.DownloadId, deleteData, Settings); } }
public override void RemoveItem(string downloadId, bool deleteData) { var historyItem = GetHistory().SingleOrDefault(v => v.DownloadId == downloadId); if (historyItem == null) { _proxy.RemoveFrom("queue", downloadId, deleteData, Settings); } else { _proxy.RemoveFrom("history", downloadId, deleteData, Settings); // Completed items in SAB's history do not remove the files from the file system when deleted, even if instructed to. // If the output path is valid delete the file(s), otherwise warn that they cannot be deleted. if (deleteData && historyItem.Status == DownloadItemStatus.Completed) { if (ValidatePath(historyItem)) { var outputPath = historyItem.OutputPath; try { if (_diskProvider.FolderExists(outputPath.FullPath)) { _diskProvider.DeleteFolder(outputPath.FullPath.ToString(), true); } else if (_diskProvider.FileExists(outputPath.FullPath)) { _diskProvider.DeleteFile(outputPath.FullPath.ToString()); } } catch (Exception e) { _logger.Error("Unable to delete output path: '{0}'. Delete file(s) manually", outputPath.FullPath); } } else { _logger.Warn("Invalid path '{0}'. Delete file(s) manually"); } } } }
public override void RemoveFromQueue(string id) { _proxy.RemoveFrom("queue", id, Settings); }