public static async Task <string> GetArtistImageUrlAsync(string artist) { var urlToReturn = string.Empty; if (Availability) { if (!string.IsNullOrEmpty(artist) && !Banlist.ArtistMetadataRetrieveBanlist.ContainsKey(artist)) { try { urlToReturn = await GrooveMusicMetadata.GetArtistImageUrl(artist); if (string.IsNullOrEmpty(urlToReturn)) { urlToReturn = await LastFmArtistMetadata.GetArtistImageUrlAsync(artist); } } catch (Exception) { // Typically that should not happen. // Investigate if that happens. } } } return(urlToReturn); }
public static async Task <IEntityInfo[]> GetArtistsAsync(string artist) { var artists = (await Task.WhenAll( GrooveMusicMetadata.GetArtistsAsync(artist), LastFmArtistMetadata.GetArtistsAsync(artist))) .SelectMany(x => x) .ToList(); artists.Sort(new ArtistSimilarityComparer(artist)); return(artists.ToArray()); }