private IEnumerable<RecentMangaRecord> GetMangas(bool force)
{
IEnumerable<RecentMangaRecord> mangas;
lock (_syncRoot)
{
if (force || _mangaRecords == null || ((mangas = _mangaRecords.Target as IEnumerable<RecentMangaRecord>) == null))
{
var cutoffDate = DateTime.UtcNow.AddDays(-Properties.Settings.Default.RecentMangaDaysNum);
mangas = ServiceLocator.Instance.GetService<ILibraryManager>()
.GetRecentlyDownloadedMangas(cutoffDate)
.Select(mr => new RecentMangaRecord(mr))
.Where(rmr => rmr.ScraperInstance != null)
.ToList();
_mangaRecords = new WeakReference(mangas);
}
}
return mangas;
}