Working TaskManager and Tasks

This commit is contained in:
2023-05-19 16:27:56 +02:00
parent cfaf8064cc
commit dd58efce06
4 changed files with 207 additions and 53 deletions

View File

@ -2,18 +2,22 @@
public static class TaskExecutor
{
public static void Execute(TrangaTask trangaTask, Dictionary<Publication, List<Chapter>> chapterCollection)
public static void Execute(Connector[] connectors, TrangaTask trangaTask, Dictionary<Publication, List<Chapter>> chapterCollection)
{
Connector? connector = connectors.FirstOrDefault(c => c.name == trangaTask.connectorName);
if (connector is null)
throw new ArgumentException($"Connector {trangaTask.connectorName} is not a known connector.");
switch (trangaTask.task)
{
case TrangaTask.Task.DownloadNewChapters:
DownloadNewChapters(trangaTask.connector, trangaTask.publication, trangaTask.language, chapterCollection);
DownloadNewChapters(connector, (Publication)trangaTask.publication!, trangaTask.language, chapterCollection);
break;
case TrangaTask.Task.UpdateChapters:
UpdateChapters(trangaTask.connector, trangaTask.publication, trangaTask.language, chapterCollection);
UpdateChapters(connector, (Publication)trangaTask.publication!, trangaTask.language, chapterCollection);
break;
case TrangaTask.Task.UpdatePublications:
UpdatePublications(trangaTask.connector, chapterCollection);
UpdatePublications(connector, chapterCollection);
break;
}
}