|
|
|
@ -13,6 +13,7 @@ using NzbDrone.Core.Tv.Events;
|
|
|
|
|
using NzbDrone.Core.MediaFiles;
|
|
|
|
|
using NzbDrone.Core.MediaFiles.Events;
|
|
|
|
|
using NzbDrone.Core.Datastore;
|
|
|
|
|
using NzbDrone.Core.Configuration;
|
|
|
|
|
|
|
|
|
|
namespace NzbDrone.Core.Tv
|
|
|
|
|
{
|
|
|
|
@ -46,6 +47,7 @@ namespace NzbDrone.Core.Tv
|
|
|
|
|
IHandle<MovieFileDeletedEvent>
|
|
|
|
|
{
|
|
|
|
|
private readonly IMovieRepository _movieRepository;
|
|
|
|
|
private readonly IConfigService _configService;
|
|
|
|
|
private readonly IEventAggregator _eventAggregator;
|
|
|
|
|
private readonly IBuildFileNames _fileNameBuilder;
|
|
|
|
|
private readonly Logger _logger;
|
|
|
|
@ -55,11 +57,13 @@ namespace NzbDrone.Core.Tv
|
|
|
|
|
ISceneMappingService sceneMappingService,
|
|
|
|
|
IEpisodeService episodeService,
|
|
|
|
|
IBuildFileNames fileNameBuilder,
|
|
|
|
|
IConfigService configService,
|
|
|
|
|
Logger logger)
|
|
|
|
|
{
|
|
|
|
|
_movieRepository = movieRepository;
|
|
|
|
|
_eventAggregator = eventAggregator;
|
|
|
|
|
_fileNameBuilder = fileNameBuilder;
|
|
|
|
|
_configService = configService;
|
|
|
|
|
_logger = logger;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -297,8 +301,15 @@ namespace NzbDrone.Core.Tv
|
|
|
|
|
|
|
|
|
|
public void Handle(MovieFileDeletedEvent message)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
var movie = _movieRepository.GetMoviesByFileId(message.MovieFile.Id).First();
|
|
|
|
|
movie.MovieFileId = 0;
|
|
|
|
|
_logger.Debug("Detaching movie {0} from file.", movie.Id);
|
|
|
|
|
|
|
|
|
|
if (message.Reason != DeleteMediaFileReason.Upgrade && _configService.AutoUnmonitorPreviouslyDownloadedEpisodes)
|
|
|
|
|
{
|
|
|
|
|
movie.Monitored = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
UpdateMovie(movie);
|
|
|
|
|
}
|
|
|
|
|