示例#1
0
        public List <ArtistView> GetNextPage(int page, int count)
        {
            List <ArtistView> list       = new List <ArtistView>();
            dynamic           ResultJson = GetResponse("http://ws.audioscrobbler.com/2.0/?method=chart.gettopartists&api_key=", page, count);

            foreach (var person in ResultJson.artists.artist)
            {
                string name  = person.name;
                string photo = "";
                foreach (dynamic dyn in person.image)
                {
                    if (dyn.size == "mega")
                    {
                        photo = dyn.text;
                        break;
                    }
                }
                ArtistView artist = new ArtistView
                {
                    Name  = name,
                    Photo = photo
                };
                if (list.Count >= count)
                {
                    break;
                }
                list.Add(artist);
            }
            return(list);
        }
示例#2
0
        private async void OpenArtist(Artist artist)
        {
            var artistView = new ArtistView(artist, () => IsSpecialViewOpen = false);
            await artistView.Load(MusicDataManager, _viewController, NotificationManager);

            SpecialView       = artistView;
            IsSpecialViewOpen = true;
        }
示例#3
0
        private async Task <StackLayout> ArtistStackAsync()
        {
            StackLayout artistStack = new StackLayout();
            var         JuxResults  = await ArtistOrAlbumSearchAsync();

            if (JuxResults != null)
            {
                var ResultCount = JuxResults.Results.Count;
                var CountMatch  = 0;

                string Artist = "";
                string Album  = "";
                string Url    = "";
                int    Id     = 0;

                await Task.Run(() =>
                {
                    for (int i = 0; i <= ResultCount - 1; i++)
                    {
                        artistView = new ArtistView();

                        Artist = ConvertJuxString.Decode(JuxResults.Results[i].Artist);
                        Album  = ConvertJuxString.Decode(JuxResults.Results[i].Album);
                        Url    = JuxResults.Results[i].Artist_Picture.Replace("%d", "500");
                        Id     = JuxResults.Results[i].Id;

                        artistView.Artist         = Artist;
                        artistView.NumberOfAlbums = JuxResults.Results[i].Number_Of_Songs;
                        artistView.ImageUrl       = Url;
                        artistView.ArtistId       = Id;

                        if (Artist.ToLower().Contains(SearchText.ToLower()))
                        {
                            CountMatch += 1;
                            artistStack.Children.Add(artistView);
                        }
                    }
                    if (CountMatch < 1)
                    {
                        artistStack.Children.Add(new Label
                        {
                            Text                    = $"Nothing was found for {SearchText}, try with another Title.",
                            FontSize                = 15,
                            TextColor               = Color.White,
                            LineBreakMode           = LineBreakMode.WordWrap,
                            HorizontalTextAlignment = TextAlignment.Center
                        });
                    }
                });
            }
            return(artistStack);
        }
示例#4
0
        private async void ShowStoryFromArtistWindow(int?itemId)
        {
            var storyArtists = ArtistView.GetStoryArtists();

            GetItem(StoryView, itemId);

            var result = await _navigationService.ShowDialogAsync(StoreWindows.StoryWindow);

            if (result ?? false)
            {
                ArtistView.AddArtistStory(storyArtists, StoryView.Item.Id ?? itemId);
            }
        }