Multiple artists return to UI

pull/4/head
Joseph Milazzo 8 years ago
parent a08ebcc0c2
commit de21685896

@ -175,23 +175,38 @@ namespace NzbDrone.Core.MetadataSource.SkyHook
//return tempList;
Album tempAlbum;
// TODO: This needs to handle multiple artists.
Artist artist = new Artist();
artist.ArtistName = httpResponse.Resource.Results[0].ArtistName;
artist.ItunesId = httpResponse.Resource.Results[0].ArtistId;
List<Artist> artists = new List<Artist>();
ArtistComparer artistComparer = new ArtistComparer();
foreach (var album in httpResponse.Resource.Results)
{
tempAlbum = new Album();
// TODO: Perform MapAlbum call here
tempAlbum.AlbumId = album.CollectionId;
tempAlbum.Title = album.CollectionName;
artist.Albums.Add(tempAlbum);
int index = artists.FindIndex(a => a.ItunesId == album.ArtistId);
if (index >= 0)
{
artists[index].Albums.Add(tempAlbum);
}
else
{
Artist tempArtist = new Artist();
// TODO: Perform the MapArtist call here
tempArtist.ItunesId = album.ArtistId;
tempArtist.ArtistName = album.ArtistName;
tempArtist.Albums.Add(tempAlbum);
artists.Add(tempArtist);
}
}
var temp = new List<Artist>();
temp.Add(artist);
return temp;
return artists;
// I need to return a list of mapped artists.

@ -9,6 +9,20 @@ using System.Text;
namespace NzbDrone.Core.Music
{
public class ArtistComparer : IEqualityComparer<Artist>
{
public bool Equals(Artist x, Artist y)
{
return x.ItunesId == y.ItunesId;
}
public int GetHashCode(Artist obj)
{
throw new NotImplementedException();
}
}
public class Artist : ModelBase
{
public Artist()

Loading…
Cancel
Save