From 5ae02ee0ed523d4575429e30c1b0bf79d952ca9a Mon Sep 17 00:00:00 2001 From: glax Date: Mon, 5 Jun 2023 20:52:21 +0200 Subject: [PATCH] Fix Bug where all tasks would be deleted... --- Tranga-API/Program.cs | 3 +-- Tranga/TaskManager.cs | 15 ++++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Tranga-API/Program.cs b/Tranga-API/Program.cs index 0e8160e..41a6cfe 100644 --- a/Tranga-API/Program.cs +++ b/Tranga-API/Program.cs @@ -79,9 +79,8 @@ app.MapPost("/Tasks/Create", (string taskType, string? connectorName, string? pu app.MapDelete("/Tasks/Delete", (string taskType, string? connectorName, string? publicationId) => { - Publication? publication = taskManager.GetAllPublications().FirstOrDefault(pub => pub.internalId == publicationId); TrangaTask.Task task = Enum.Parse(taskType); - taskManager.DeleteTask(task, connectorName, publication); + taskManager.DeleteTask(task, connectorName, publicationId); }); app.MapGet("/Tasks/Get", (string taskType, string? connectorName, string? searchString) => diff --git a/Tranga/TaskManager.cs b/Tranga/TaskManager.cs index 94f106b..446aba6 100644 --- a/Tranga/TaskManager.cs +++ b/Tranga/TaskManager.cs @@ -207,10 +207,10 @@ public class TaskManager /// /// TrangaTask.Task type /// Name of Connector that was used - /// Publication that was used - public void DeleteTask(TrangaTask.Task task, string? connectorName, Publication? publication) + /// Publication that was used + public void DeleteTask(TrangaTask.Task task, string? connectorName, string? publicationId) { - logger?.WriteLine(this.GetType().ToString(), $"Removing Task {task} {publication?.sortName}"); + logger?.WriteLine(this.GetType().ToString(), $"Removing Task {task} {publicationId}"); switch (task) { @@ -220,12 +220,13 @@ public class TaskManager _allTasks.RemoveWhere(trangaTask => trangaTask.task is TrangaTask.Task.UpdateLibraries); break; case TrangaTask.Task.DownloadNewChapters: - if(connectorName is null || publication is null) + if (connectorName is null || publicationId is null) logger?.WriteLine(this.GetType().ToString(), "connectorName and publication can not be null"); - _allTasks.RemoveWhere(mTask => + else + _allTasks.RemoveWhere(mTask => mTask.GetType() == typeof(DownloadNewChaptersTask) && - ((DownloadNewChaptersTask)mTask).publication.internalId != publication!.Value.publicationId && - ((DownloadNewChaptersTask)mTask).connectorName != connectorName!); + ((DownloadNewChaptersTask)mTask).publication.internalId == publicationId && + ((DownloadNewChaptersTask)mTask).connectorName == connectorName!); break; } ExportDataAndSettings();