using API.Schema.MangaContext; namespace API.Workers; public class CheckForNewChaptersWorker(Manga manga, TimeSpan? interval = null, IEnumerable? dependsOn = null) : BaseWorkerWithContext(dependsOn), IPeriodic { public Manga Manga = manga; public DateTime LastExecution { get; set; } = DateTime.UtcNow; public TimeSpan Interval { get; set; } = interval??TimeSpan.FromMinutes(60); protected override BaseWorker[] DoWorkInternal() { ICollection> connectorIdsManga = Manga.MangaConnectorIds; IEnumerable> mangasToDownload = connectorIdsManga.Where(id => id.UseForDownload); List newWorkers = new(); foreach (MangaConnectorId mangaConnectorId in mangasToDownload) newWorkers.Add(new RetrieveMangaChaptersFromMangaconnectorWorker(mangaConnectorId, Tranga.Settings.DownloadLanguage)); return newWorkers.ToArray(); } }