public void Execute(RefreshSeriesCommand message) { _eventAggregator.PublishEvent(new SeriesRefreshStartingEvent(message.Trigger == CommandTrigger.Manual)); if (message.SeriesId.HasValue) { var series = _seriesService.GetSeries(message.SeriesId.Value); try { RefreshSeriesInfo(series); } catch (Exception e) { _logger.Error(e, "Couldn't refresh info for {0}", series); RescanSeries(series); throw; } } else { var allSeries = _seriesService.GetAllSeries().OrderBy(c => c.SortTitle).ToList(); foreach (var series in allSeries) { if (message.Trigger == CommandTrigger.Manual || _checkIfSeriesShouldBeRefreshed.ShouldRefresh(series)) { try { RefreshSeriesInfo(series); } catch (Exception e) { _logger.Error(e, "Couldn't refresh info for {0}", series); RescanSeries(series); } } else { _logger.Info("Skipping refresh of series: {0}", series.Title); RescanSeries(series); } } } }
public void Execute(RefreshSeriesCommand message) { _eventAggregator.PublishEvent(new SeriesRefreshStartingEvent()); if (message.SeriesId.HasValue) { var series = _seriesService.GetSeries(message.SeriesId.Value); RefreshSeriesInfo(series); } else { var allSeries = _seriesService.GetAllSeries().OrderBy(c => c.Title).ToList(); foreach (var series in allSeries) { if (_checkIfSeriesShouldBeRefreshed.ShouldRefresh(series)) { try { RefreshSeriesInfo(series); } catch (Exception e) { _logger.ErrorException("Couldn't refresh info for {0}".Inject(series), e); } } else { try { _logger.Info("Skipping refresh of series: {0}", series.Title); _diskScanService.Scan(series); } catch (Exception e) { _logger.ErrorException("Couldn't rescan series {0}".Inject(series), e); } } } } }
public void Execute(RefreshSeriesCommand message) { var trigger = message.Trigger; var isNew = message.IsNewSeries; _eventAggregator.PublishEvent(new SeriesRefreshStartingEvent(trigger == CommandTrigger.Manual)); if (message.SeriesId.HasValue) { var series = _seriesService.GetSeries(message.SeriesId.Value); try { RefreshSeriesInfo(series); RescanSeries(series, isNew, trigger); } catch (SeriesNotFoundException) { _logger.Error("Series '{0}' (tvdbid {1}) was not found, it may have been removed from TheTVDB.", series.Title, series.TvdbId); } catch (Exception e) { _logger.Error(e, "Couldn't refresh info for {0}", series); RescanSeries(series, isNew, trigger); throw; } } else { var allSeries = _seriesService.GetAllSeries().OrderBy(c => c.SortTitle).ToList(); foreach (var series in allSeries) { if (trigger == CommandTrigger.Manual || _checkIfSeriesShouldBeRefreshed.ShouldRefresh(series)) { try { RefreshSeriesInfo(series); } catch (SeriesNotFoundException) { _logger.Error("Series '{0}' (tvdbid {1}) was not found, it may have been removed from TheTVDB.", series.Title, series.TvdbId); continue; } catch (Exception e) { _logger.Error(e, "Couldn't refresh info for {0}", series); } RescanSeries(series, false, trigger); } else { _logger.Info("Skipping refresh of series: {0}", series.Title); RescanSeries(series, false, trigger); } } } _eventAggregator.PublishEvent(new SeriesRefreshCompleteEvent()); }