Exemplo n.º 1
0
        private async void OnMediaItemAuthorMouseUp(object sender, MouseButtonEventArgs e)
        {
            if (!(sender is TextBlock clicked) || !(clicked.DataContext is IMediaInfo mediaInfo))
            {
                return;
            }
            IArtistInfo artistInfo = await mediaInfo.GetArtistInfo();

            UnknownPlaylist playlist = await UnknownPlaylist.FromArtist(artistInfo, false);

            NebulaClient.Navigate(typeof(PlaylistPage), playlist, new DrillInNavigationTransitionInfo());
        }
Exemplo n.º 2
0
        public static async Task <UnknownPlaylist> FromArtist(IArtistInfo artistInfo, bool loadMedias = true)
        {
            UnknownPlaylist playlist = new UnknownPlaylist
            {
                Name        = artistInfo.Title,
                Description = artistInfo.Url,
                Thumbnail   = new Uri(artistInfo.LogoUrl),
                Tag         = artistInfo
            };

            if (!loadMedias)
            {
                return(playlist);
            }
            await foreach (IMediaInfo mediaInfo in artistInfo.GetMedias())
            {
                playlist.AddMedia(mediaInfo);
            }
            return(playlist);
        }
        public bool TryGetArtistInfo(int artistId, out IArtistInfo artistInfo)
        {
            //var query = _cacheTable
            //    .CreateQuery<ArtistInfoEntity>()
            //    .Where(
            //    TableQuery.GenerateFilterCondition(
            //        nameof(ArtistInfoEntity.RowKey),
            //        QueryComparisons.Equal,
            //        artistId.ToString()));

            var query = new TableQuery <ArtistInfoEntity>().Where(
                TableQuery.GenerateFilterCondition(
                    nameof(ArtistInfoEntity.RowKey),
                    QueryComparisons.Equal,
                    artistId.ToString())
                );
            IEnumerable <ArtistInfoEntity> entities = _cacheTable.ExecuteQuery(query);

            artistInfo = entities?.FirstOrDefault();
            return(entities.Any());
        }
Exemplo n.º 4
0
 public ArtistData(IArtistInfo artist)
 {
     this.artist = artist;
 }
 public ArtistInfoEntity(IArtistInfo info)
 {
     Id           = info.Id;
     Name         = info.Name;
     PartitionKey = "KISW";
 }