public async Task <List <LFCArtist> > userGetRecommendedArtists(string user) { List <LFCArtist> s = new List <LFCArtist>(); string requestString = "api_key" + apiKey + "methoduser.getRecommendedArtists" + "sk" + sk + "96bd810a71249530b5f3831cd09f43d1"; string api_sig = MD5Core.GetHashString(requestString); var request = new LFCRequest(); request.addParameter("method", "user.getRecommendedArtists"); request.addParameter("api_key", apiKey); request.addParameter("api_sig", api_sig); request.addParameter("sk", sk); try { JObject json = JObject.Parse(await request.execute()); var artists = json["recommendations"]["artist"]; foreach (JObject artist in artists) { LFCArtist a = new LFCArtist(); a.Name = artist.Value <string>("name"); a.Url = artist.Value <string>("url"); a.Image = artist.Value <JArray>("image")[3]["#text"].Value <string>(); s.Add(a); } } catch (NullReferenceException e) { throw e; } return(s); }
public async Task <List <LFCArtist> > libraryGetArtists(string user) { List <LFCArtist> s = new List <LFCArtist>(); var request = new LFCRequest(); request.addParameter("method", "library.getArtists"); request.addParameter("user", user); request.addParameter("api_key", apiKey); try { JObject json = JObject.Parse(await request.execute()); var artists = json["artists"]["artist"]; foreach (JObject artist in artists) { LFCArtist a = new LFCArtist(); a.Name = artist.Value <string>("name"); a.Playcount = artist.Value <int>("playcount"); a.Url = artist.Value <string>("url"); a.Image = artist.Value <JArray>("image")[3]["#text"].Value <string>(); s.Add(a); } } catch (NullReferenceException e) // если нет { throw e; } return(s); }
private async void linkToArtistInfo_Click(object sender, RoutedEventArgs e) { var link = sender as System.Windows.Documents.Hyperlink; var runText = link.Inlines.ElementAt(0) as System.Windows.Documents.Run; var str = runText.Text; LFCArtist ar = new LFCArtist(); ar = await client.artistGetInfo(str); List <object> objList = new List <object>(); objList.Add(auth); objList.Add(ar); NavigationService.Navigate(new Uri("/ArtistInfo.xaml", UriKind.Relative), objList); }
protected override async void OnNavigatedTo(NavigationEventArgs e) { if (!App.ViewModel.IsDataLoaded) { App.ViewModel.LoadData(); } ar = NavigationService.GetNavigationData().ElementAt(1) as LFCArtist; auth = NavigationService.GetNavigationData().ElementAt(0) as LFCAuth; client = new Client.Client(auth); // понадобится позже EventInfoGrid.ItemsSource = new List <LFCArtist>() { ar }; }