예제 #1
0
        public async Task StartLoading()
        {
            IsLoading = true;
            Changed("IsLoading");

            var recc = await Fooxboy.MusicX.Core.VKontakte.Music.Recommendations.New();

            var blocks     = recc.Blocks;
            var listBlocks = new List <Block>();

            foreach (var blockA in blocks)
            {
                var block = BlockService.ConvertToBlock(blockA);
                if (block.Tracks != null)
                {
                    var tracks = await MusicService.ConvertToAudioFile(block.Tracks);

                    block.TrackFiles = tracks;
                }

                if (block.Playlists != null)
                {
                    var playlists = new List <PlaylistFile>();
                    foreach (var blockPlaylist in block.Playlists)
                    {
                        var plist = await PlaylistsService.ConvertToPlaylistFile(blockPlaylist);

                        playlists.Add(plist);
                    }

                    block.PlaylistsFiles = playlists;
                }
                listBlocks.Add(block);
            }

            Blocks = listBlocks;
            Changed("Blocks");
            IsLoading = false;
            Changed("IsLoading");
        }