diff --git a/NzbDrone.Core/Providers/EpisodeProvider.cs b/NzbDrone.Core/Providers/EpisodeProvider.cs index 873ed636e..b5781d1d9 100644 --- a/NzbDrone.Core/Providers/EpisodeProvider.cs +++ b/NzbDrone.Core/Providers/EpisodeProvider.cs @@ -21,7 +21,9 @@ namespace NzbDrone.Core.Providers private readonly IQualityProvider _quality; private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); - public EpisodeProvider(IRepository sonicRepo, ISeriesProvider seriesProvider, ISeasonProvider seasonProvider, ITvDbProvider tvDbProvider, IHistoryProvider history, IQualityProvider quality) + public EpisodeProvider(IRepository sonicRepo, ISeriesProvider seriesProvider, + ISeasonProvider seasonProvider, ITvDbProvider tvDbProvider, + IHistoryProvider history, IQualityProvider quality) { _sonicRepo = sonicRepo; _series = seriesProvider; @@ -94,7 +96,7 @@ namespace NzbDrone.Core.Providers episode.EpisodeId = dbEpisode.EpisodeId; - var file = _sonicRepo.Single(c => c.FileId == dbEpisode.FileId); + var file = dbEpisode.EpisodeFile; if (file != null) { diff --git a/NzbDrone.Core/Providers/IMediaFileProvider.cs b/NzbDrone.Core/Providers/IMediaFileProvider.cs index 9a84dbd9f..618af1f46 100644 --- a/NzbDrone.Core/Providers/IMediaFileProvider.cs +++ b/NzbDrone.Core/Providers/IMediaFileProvider.cs @@ -1,3 +1,4 @@ +using System.Collections.Generic; using NzbDrone.Core.Model; using NzbDrone.Core.Repository; @@ -17,5 +18,6 @@ namespace NzbDrone.Core.Providers void DeleteFromDisk(int fileId, string path); void Update(EpisodeFile episodeFile); EpisodeFile GetEpisodeFile(int episodeFileId); + List GetEpisodeFiles(); } } \ No newline at end of file diff --git a/NzbDrone.Core/Providers/MediaFileProvider.cs b/NzbDrone.Core/Providers/MediaFileProvider.cs index 4ad520dc6..865835d99 100644 --- a/NzbDrone.Core/Providers/MediaFileProvider.cs +++ b/NzbDrone.Core/Providers/MediaFileProvider.cs @@ -85,11 +85,11 @@ namespace NzbDrone.Core.Providers string episodeList = String.Empty; foreach (var ep in episodes) { - ep.FileId = fileId; + ep.EpisodeFileId = fileId; _episodeProvider.UpdateEpisode(ep); episodeList += String.Format(", {0}", ep.EpisodeId).Trim(' ', ','); } - Logger.Trace("File {0}:{1} attached to episode(s): '{2}'", episodeFile.FileId, filePath, episodeList); + Logger.Trace("File {0}:{1} attached to episode(s): '{2}'", episodeFile.EpisodeFileId, filePath, episodeList); return episodeFile; } @@ -148,6 +148,11 @@ namespace NzbDrone.Core.Providers return _repository.Single(episodeFileId); } + public List GetEpisodeFiles() + { + return _repository.All().ToList(); + } + private List GetMediaFileList(string path) { Logger.Debug("Scanning '{0}' for episodes", path); diff --git a/NzbDrone.Core/Repository/Episode.cs b/NzbDrone.Core/Repository/Episode.cs index 4023bf55a..40c66cb25 100644 --- a/NzbDrone.Core/Repository/Episode.cs +++ b/NzbDrone.Core/Repository/Episode.cs @@ -11,7 +11,7 @@ namespace NzbDrone.Core.Repository [SubSonicPrimaryKey(false)] public virtual int EpisodeId { get; set; } public virtual int SeriesId { get; set; } - public virtual int FileId { get; set; } + public virtual int EpisodeFileId { get; set; } public int SeasonNumber { get; set; } public int EpisodeNumber { get; set; } public int SeasonId { get; set; } diff --git a/NzbDrone.Core/Repository/EpisodeFile.cs b/NzbDrone.Core/Repository/EpisodeFile.cs index 890d2de2d..e3cb7177a 100644 --- a/NzbDrone.Core/Repository/EpisodeFile.cs +++ b/NzbDrone.Core/Repository/EpisodeFile.cs @@ -8,7 +8,7 @@ namespace NzbDrone.Core.Repository public class EpisodeFile { [SubSonicPrimaryKey] - public virtual int FileId { get; set; } + public virtual int EpisodeFileId { get; set; } public int SeriesId { get; set; } public string Path { get; set; } public QualityTypes Quality { get; set; }