diff --git a/src/NzbDrone.Core/MetadataSource/SkyHook/SkyHookProxy.cs b/src/NzbDrone.Core/MetadataSource/SkyHook/SkyHookProxy.cs index bafc84ecc..03e5f2bdb 100644 --- a/src/NzbDrone.Core/MetadataSource/SkyHook/SkyHookProxy.cs +++ b/src/NzbDrone.Core/MetadataSource/SkyHook/SkyHookProxy.cs @@ -77,7 +77,7 @@ namespace NzbDrone.Core.MetadataSource.SkyHook public Tuple> GetArtistInfo(string foreignArtistId) { - _logger.Debug("Getting Artist with SpotifyId of {0}", foreignArtistId); + _logger.Debug("Getting Artist with LidarrAPI.MetadataID of {0}", foreignArtistId); // We need to perform a direct lookup of the artist var httpRequest = _requestBuilder.Create() @@ -296,7 +296,7 @@ namespace NzbDrone.Core.MetadataSource.SkyHook Artist artist = new Artist(); artist.Name = resource.ArtistName; - artist.ForeignArtistId = resource.Id; // TODO: Rename spotifyId to LidarrId + artist.ForeignArtistId = resource.Id; artist.Genres = resource.Genres; artist.Overview = resource.Overview; artist.NameSlug = Parser.Parser.CleanArtistTitle(artist.Name); diff --git a/src/NzbDrone.Core/Music/TrackRepository.cs b/src/NzbDrone.Core/Music/TrackRepository.cs index 948ce5936..4657b3dad 100644 --- a/src/NzbDrone.Core/Music/TrackRepository.cs +++ b/src/NzbDrone.Core/Music/TrackRepository.cs @@ -13,11 +13,11 @@ namespace NzbDrone.Core.Music { public interface ITrackRepository : IBasicRepository { - Track Find(int artistId, int albumId, int trackNumber); - List GetTracks(int artistId); - List GetTracks(int artistId, int albumId); + Track Find(string artistId, string albumId, int trackNumber); + List GetTracks(string artistId); + List GetTracks(string artistId, string albumId); List GetTracksByFileId(int fileId); - List TracksWithFiles(int artistId); + List TracksWithFiles(string artistId); PagingSpec TracksWithoutFiles(PagingSpec pagingSpec); PagingSpec TracksWhereCutoffUnmet(PagingSpec pagingSpec, List qualitiesBelowCutoff); void SetMonitoredFlat(Track episode, bool monitored); @@ -37,24 +37,24 @@ namespace NzbDrone.Core.Music _logger = logger; } - public Track Find(int artistId, int albumId, int trackNumber) + public Track Find(string artistId, string albumId, int trackNumber) { - return Query.Where(s => s.ArtistId == artistId) - .AndWhere(s => s.AlbumId == albumId) + return Query.Where(s => s.ForeignTrackId == artistId) + .AndWhere(s => s.Album.ForeignAlbumId == albumId) .AndWhere(s => s.TrackNumber == trackNumber) .SingleOrDefault(); } - public List GetTracks(int artistId) + public List GetTracks(string artistId) { - return Query.Where(s => s.ArtistId == artistId).ToList(); + return Query.Where(s => s.ForeignTrackId == artistId).ToList(); } - public List GetTracks(int artistId, int albumId) + public List GetTracks(string artistId, string albumId) { - return Query.Where(s => s.ArtistId == artistId) - .AndWhere(s => s.AlbumId == albumId) + return Query.Where(s => s.ForeignTrackId == artistId) + .AndWhere(s => s.Album.ForeignAlbumId == albumId) .ToList(); } @@ -63,10 +63,10 @@ namespace NzbDrone.Core.Music return Query.Where(e => e.TrackFileId == fileId).ToList(); } - public List TracksWithFiles(int artistId) + public List TracksWithFiles(string artistId) { return Query.Join(JoinType.Inner, e => e.TrackFile, (e, ef) => e.TrackFileId == ef.Id) - .Where(e => e.ArtistId == artistId); + .Where(e => e.ForeignTrackId == artistId); } public PagingSpec TracksWhereCutoffUnmet(PagingSpec pagingSpec, List qualitiesBelowCutoff) diff --git a/src/NzbDrone.Core/Music/TrackService.cs b/src/NzbDrone.Core/Music/TrackService.cs index bf19f76b3..6219b515e 100644 --- a/src/NzbDrone.Core/Music/TrackService.cs +++ b/src/NzbDrone.Core/Music/TrackService.cs @@ -15,12 +15,12 @@ namespace NzbDrone.Core.Music { Track GetTrack(int id); List GetTracks(IEnumerable ids); - Track FindTrack(int artistId, int albumId, int trackNumber); - Track FindTrackByTitle(int artistId, int albumId, string releaseTitle); - List GetTracksByArtist(int artistId); - List GetTracksByAlbum(int artistId, int albumId); + Track FindTrack(string artistId, string albumId, int trackNumber); + Track FindTrackByTitle(string artistId, string albumId, string releaseTitle); + List GetTracksByArtist(string artistId); + List GetTracksByAlbum(string artistId, string albumId); //List GetTracksByAlbumTitle(string artistId, string albumTitle); - List TracksWithFiles(int artistId); + List TracksWithFiles(string artistId); //PagingSpec TracksWithoutFiles(PagingSpec pagingSpec); List GetTracksByFileId(int trackFileId); void UpdateTrack(Track track); @@ -65,12 +65,12 @@ namespace NzbDrone.Core.Music return _trackRepository.GetTracks(artistId).ToList(); } - public List GetTracksByAlbum(int artistId, int albumId) + public List GetTracksByAlbum(string artistId, string albumId) { return _trackRepository.GetTracks(artistId, albumId); } - public Track FindTrackByTitle(int artistId, int albumId, string releaseTitle) + public Track FindTrackByTitle(string artistId, string albumId, string releaseTitle) { // TODO: can replace this search mechanism with something smarter/faster/better var normalizedReleaseTitle = Parser.Parser.NormalizeEpisodeTitle(releaseTitle).Replace(".", " "); @@ -96,7 +96,7 @@ namespace NzbDrone.Core.Music return null; } - public List TracksWithFiles(int artistId) + public List TracksWithFiles(string artistId) { return _trackRepository.TracksWithFiles(artistId); } @@ -154,7 +154,7 @@ namespace NzbDrone.Core.Music public void HandleAsync(ArtistDeletedEvent message) { - var tracks = GetTracksByArtist(message.Artist.Id); + var tracks = GetTracksByArtist(message.Artist.ForeignArtistId); _trackRepository.DeleteMany(tracks); }