Example #1
0
            private async Task LoadAlbums(StorageFolderQueryResult albumQueryResult, int artistId)
            {
                IReadOnlyList <StorageFolder> albumFolders = null;

                try
                {
                    albumFolders = await albumQueryResult.GetFoldersAsync();
                }
                catch (Exception e)
                {
                    Debug.WriteLine(e.ToString());
                }
                if (albumFolders != null)
                {
                    foreach (var item in albumFolders)
                    {
                        AlbumItem albumItem = await GetInformationsFromMusicFile.GetAlbumItemFromFolder(item, albumQueryResult, artistId);

                        await albumItem.GetCover();

                        // Album is in database, update with cover.
                        await _albumDataRepository.Update(albumItem);

                        await DispatchHelper.InvokeAsync(() =>
                        {
                            Albums.Add(albumItem);
                            if (Locator.MusicLibraryVM.RandomAlbums.Count < 12)
                            {
                                Locator.MusicLibraryVM.RandomAlbums.Add(albumItem);
                            }
                        });

                        Locator.MusicLibraryVM.AlbumCover.Add(albumItem.Picture);
                    }
                }
            }