public void Execute(MoviesSearchCommand message) { var downloadedCount = 0; foreach (var movieId in message.MovieIds) { var movie = _movieService.GetMovie(movieId); if (!movie.Monitored && message.Trigger != CommandTrigger.Manual) { _logger.Debug("Movie {0} is not monitored, skipping search", movie.Title); continue; } var decisions = _releaseSearchService.MovieSearch(movieId, false, false); downloadedCount += _processDownloadDecisions.ProcessDecisions(decisions).Grabbed.Count; } _logger.ProgressInfo("Movie search completed. {0} reports downloaded.", downloadedCount); }
private List <ReleaseResource> GetMovieReleases(int movieId) { try { var decisions = _releaseSearchService.MovieSearch(movieId, true, true); var prioritizedDecisions = _prioritizeDownloadDecision.PrioritizeDecisionsForMovies(decisions); return(MapDecisions(prioritizedDecisions)); } catch (SearchFailedException ex) { throw new NzbDroneClientException(HttpStatusCode.BadRequest, ex.Message); } catch (Exception ex) { _logger.Error(ex, "Movie search failed: " + ex.Message); } return(new List <ReleaseResource>()); }