/// <summary> /// Initializes a new instance of the <see cref="RssFeedUpdaterService"/> class. /// </summary> /// <param name="logger">Logger.</param> /// <param name="reteOrgRssFeed">ReteOrgRssFeed.</param> /// <param name="feedDAO">FeedDAO.</param> /// <param name="seriesDAO">SeriesDAO.</param> /// <param name="subscriptionDAO">SubscriptionDAO.</param> /// <param name="seriesCoverService">SeriesCoverService.</param> /// <param name="configuration">IConfiguration.</param> public RssFeedUpdaterService(ILogger logger, ReteOrgRssFeed reteOrgRssFeed, IFeedDAO feedDAO, ISeriesDAO seriesDAO, ISubscriptionDAO subscriptionDAO, SeriesCoverService seriesCoverService, IConfiguration configuration) { this.logger = logger != null?logger.CreateScope(nameof(RssFeedUpdaterService)) : throw new ArgumentNullException(nameof(logger)); this.configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); this.reteOrgRssFeed = reteOrgRssFeed ?? throw new ArgumentNullException(nameof(reteOrgRssFeed)); this.feedDAO = feedDAO ?? throw new ArgumentNullException(nameof(feedDAO)); this.seriesDAO = seriesDAO ?? throw new ArgumentNullException(nameof(seriesDAO)); this.subscriptionDAO = subscriptionDAO ?? throw new ArgumentNullException(nameof(subscriptionDAO)); this.seriesCoverService = seriesCoverService ?? throw new ArgumentNullException(nameof(seriesCoverService)); }
/// <summary> /// Initializes a new instance of the <see cref="RssFeedService"/> class. /// </summary> /// <param name="currentUserProvider">CurrentUserProvider.</param> /// <param name="logger">Logger.</param> /// <param name="torrentFileDownloader">TorrentFileDownloader.</param> /// <param name="userDAO">UserDAO.</param> /// <param name="feedDAO">FeedDAO.</param> /// <param name="seriesDAO">SeriesDAO.</param> /// <param name="configuration">IConfiguration.</param> public RssFeedService( ICurrentUserProvider currentUserProvider, ILogger logger, TorrentFileDownloader torrentFileDownloader, IUserDAO userDAO, IFeedDAO feedDAO, ISeriesDAO seriesDAO, IConfiguration configuration) { this.logger = logger == null ? throw new ArgumentNullException(nameof(logger)) : logger.CreateScope(nameof(RssFeedService)); this.seriesDAO = seriesDAO ?? throw new ArgumentNullException(nameof(seriesDAO)); this.feedDAO = feedDAO ?? throw new ArgumentNullException(nameof(feedDAO)); this.userDAO = userDAO ?? throw new ArgumentNullException(nameof(userDAO)); this.currentUserProvider = currentUserProvider ?? throw new ArgumentNullException(nameof(currentUserProvider)); this.torrentFileDownloader = torrentFileDownloader ?? throw new ArgumentNullException(nameof(torrentFileDownloader)); this.configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); }
public static async Task RunUpdateProcess(IUserDAO userDao, IFeedDAO feedDao, RssFeedUpdaterService feedService, ILogger logger) { try { var deletedUserIds = await userDao.DeleteOldUsersAsync(); foreach (var userId in deletedUserIds) { await feedDao.DeleteAsync(userId); } await feedService.UpdateAsync(); } catch (Exception ex) { logger.Log(ex); if (ex.InnerException != null) { logger.Log(ex.InnerException); } } }