예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }
예제 #4
0
        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
            };
        }