@ -13,77 +13,60 @@ using NzbDrone.SignalR;
namespace NzbDrone.Api.EpisodeFiles
{
public class MovieFileModule : NzbDroneRestModuleWithSignalR < MovieFileResource , MovieFile >
//IHandle<EpisodeFileAddedEvent>
public class MovieFileModule : NzbDroneRestModuleWithSignalR < MovieFileResource , MovieFile > , IHandle < MovieFileAddedEvent >
{
private readonly IMediaFileService _mediaFileService ;
private readonly IRecycleBinProvider _recycleBinProvider ;
private readonly IMovieService _ series Service;
private readonly IMovieService _ movie Service;
private readonly IQualityUpgradableSpecification _qualityUpgradableSpecification ;
private readonly Logger _logger ;
public MovieFileModule ( IBroadcastSignalRMessage signalRBroadcaster ,
IMediaFileService mediaFileService ,
IRecycleBinProvider recycleBinProvider ,
IMovieService series Service,
IMovieService movie Service,
IQualityUpgradableSpecification qualityUpgradableSpecification ,
Logger logger )
: base ( signalRBroadcaster )
{
_mediaFileService = mediaFileService ;
_recycleBinProvider = recycleBinProvider ;
_ seriesService = series Service;
_ movieService = movie Service;
_qualityUpgradableSpecification = qualityUpgradableSpecification ;
_logger = logger ;
GetResourceById = GetMovieFile ;
/ * GetResourceAll = GetEpisodeFiles ;
UpdateResource = SetQuality ; * /
UpdateResource = SetQuality ;
DeleteResource = Delete Episod eFile;
DeleteResource = DeleteMovieFile ;
}
private MovieFileResource GetMovieFile ( int id )
{
var episodeFil e = _mediaFileService . GetMovie ( id ) ;
var movi e = _mediaFileService . GetMovie ( id ) ;
return episodeFil e. ToResource ( ) ;
return movi e. ToResource ( ) ;
}
/ * private List < EpisodeFileResource > GetEpisodeFiles ( )
private void SetQuality ( MovieFileResource movieFileResource )
{
if ( ! Request . Query . SeriesId . HasValue )
{
throw new BadRequestException ( "seriesId is missing" ) ;
}
var seriesId = ( int ) Request . Query . SeriesId ;
var series = _seriesService . GetSeries ( seriesId ) ;
return _mediaFileService . GetFilesBySeries ( seriesId ) . ConvertAll ( f = > f . ToResource ( series , _qualityUpgradableSpecification ) ) ;
}
* /
private void SetQuality ( MovieFileResource episodeFileResource )
{
var episodeFile = _mediaFileService . GetMovie ( episodeFileResource . Id ) ;
episodeFile . Quality = episodeFileResource . Quality ;
_mediaFileService . Update ( episodeFile ) ;
var movieFile = _mediaFileService . GetMovie ( movieFileResource . Id ) ;
movieFile . Quality = movieFileResource . Quality ;
_mediaFileService . Update ( movieFile ) ;
}
private void Delete Episod eFile( int id )
private void DeleteMovieFile ( int id )
{
var episod eFile = _mediaFileService . GetMovie ( id ) ;
var series = _seriesService . GetMovie ( episod eFile. MovieId ) ;
var fullPath = Path . Combine ( series. Path , episod eFile. RelativePath ) ;
var movieFile = _mediaFileService . GetMovie ( id ) ;
var movie = _movieService . GetMovie ( movieFile . MovieId ) ;
var fullPath = Path . Combine ( movie . Path , movieFile . RelativePath ) ;
_logger . Info ( "Deleting episod e file: {0}", fullPath ) ;
_logger . Info ( "Deleting movie file: {0}" , fullPath ) ;
_recycleBinProvider . DeleteFile ( fullPath ) ;
_mediaFileService . Delete ( episod eFile, DeleteMediaFileReason . Manual ) ;
_mediaFileService . Delete ( movieFile , DeleteMediaFileReason . Manual ) ;
}
public void Handle ( Episod eFileAddedEvent message )
public void Handle ( MovieFileAddedEvent message )
{
BroadcastResourceChange ( ModelAction . Updated , message . Episod eFile. Id ) ;
BroadcastResourceChange ( ModelAction . Updated , message . Movi eFile. Id ) ;
}
}
}