public virtual void Start(ProgressNotification notification, dynamic options) { IList <Series> seriesToUpdate; if (options == null || options.SeriesId == 0) { if (_configProvider.IgnoreArticlesWhenSortingSeries) { seriesToUpdate = _seriesProvider.GetAllSeries().OrderBy(o => o.Title.IgnoreArticles()).ToList(); } else { seriesToUpdate = _seriesProvider.GetAllSeries().OrderBy(o => o.Title).ToList(); } } else { seriesToUpdate = new List <Series> { _seriesProvider.GetSeries(options.SeriesId) }; } //Update any Daily Series in the DB with the IsDaily flag _referenceDataProvider.UpdateDailySeries(); foreach (var series in seriesToUpdate) { try { notification.CurrentMessage = "Updating " + series.Title; _seriesProvider.UpdateSeriesInfo(series.SeriesId); _episodeProvider.RefreshEpisodeInfo(series); notification.CurrentMessage = "Update completed for " + series.Title; } catch (Exception ex) { Logger.ErrorException("Failed to update episode info for series: " + series.Title, ex); } } }