public void LoadAlbum(WebAlbum album) { _parent.CanMoveNext = false; this.IsLoading = true; if (album == null) { return; } string fullUrlToAlbumXmlDetails = String.Concat(Urls.Album, album.AlbumMediaId); AlbumDetailsDownloader.DownloadAsync(fullUrlToAlbumXmlDetails, (webAlbum) => { if (webAlbum != null) { DownloadedAlbum = webAlbum; UpdateDetail(DownloadedAlbum); } else { SelectedAlbumTitle = "Could not get album details"; } _parent.CanMoveNext = true; this.IsLoading = false; }); }
private void GetAlbumDetailsFromWebsite(Guid albumMediaId) { if (albumMediaId != Guid.Empty) { var url = String.Concat(Urls.Album, albumMediaId); AlbumDetailsDownloader.DownloadAsync(url, album => { if (album != null) { LinkStatus = LinkStatus.Linked; Right = new AlbumThumbDetails { Artist = album.Artist, ArtworkUrl = album.ArtworkUrl, Title = album.Title, }; } else { LinkStatus = LinkStatus.Unlinked; } }); } else { LinkStatus = LinkStatus.Unlinked; } }
public void LoadFromZuneWebsite() { var warningMsg = new ErrorMessage(ErrorMode.Warning, "This process could take a very long time, are you sure?"); ZuneMessageBox.Show(warningMsg, () => { this.CanShowScanAllButton = false; int counter = 0; //we have to get the list from the CollectionView because of how its sorted var toScan = (from object album in _cvs.View select album as AlbumDetailsViewModel) .ToList().Where(x => x.LinkStatus != LinkStatus.Unlinked); foreach (AlbumDetailsViewModel album in toScan) { album.LinkStatus = LinkStatus.Unknown; // reset the linkstatus so we can scan all multiple times album.Right = null; AlbumDetailsViewModel closedAlbum = album; //TODO: don't like having to call back into the zune db just to get the albumMediaId var url = String.Concat(Urls.Album, album.AlbumMediaId); AlbumDetailsDownloader.DownloadAsync(url, dledAlbum => { if (dledAlbum != null) { closedAlbum.LinkStatus = LinkStatus.Linked; closedAlbum.Right = new AlbumThumbDetails { Artist = dledAlbum.Artist, ArtworkUrl = dledAlbum.ArtworkUrl, Title = dledAlbum.Title }; } else { closedAlbum.LinkStatus = LinkStatus.Unlinked; } counter++; Trace.WriteLine(counter); ReportProgress(counter, toScan.Count()); }); } }); }