public static bool HasValidArtworkKey(ILibraryEntry libraryEntry) { if (libraryEntry.IsUnknown(x => x.AlbumArtists) || libraryEntry.IsUnknown(x => x.Album)) { return(false); } return(true); }
public static async Task <SerializableBitmap> DownloadArtwork(ILibraryEntry entry) { if (entry.IsUnknown(x => x.Album) || entry.IsUnknown(x => x.AlbumArtists)) { return(await Task.FromResult <SerializableBitmap>(null)); } else { try { // Last FM API var client = new LastfmClient(WebConfiguration.LastFmAPIKey, WebConfiguration.LastFmAPISecret); // Web Call ... var response = await client.Album.GetInfoAsync(entry.AlbumArtists.First(), entry.Album, false); // Status OK -> Create bitmap image from the url if (response.Status == LastResponseStatus.Successful && response.Content.Images.Any()) { return(await DownloadImage(response.Content.Images.ExtraLarge.AbsoluteUri)); } else { return(await Task.FromResult <SerializableBitmap>(null)); } } catch (Exception) { return(await Task.FromResult <SerializableBitmap>(null)); } } }