Example #1
0
        public static YandexPlaylist FromJson(JToken jList)
        {
            var playlist = new YandexPlaylist
            {
                Collective = jList.GetBool("collective"),
                Cover      = jList.ContainField("cover") ?
                             YandexCover.FromJson(jList["cover"]) : null,
                Description           = jList.GetString("description"),
                DescriptionFormatted  = jList.GetString("descriptionFormatted"),
                Duration              = jList.GetInt("Duration"),
                GeneratedPlaylistType = jList.GetString("generatedPlaylistType"),
                IdForFrom             = jList.GetString("IdForFrom"),
                Kind       = jList.GetInt("kind"),
                LikesCount = jList.GetInt("likesCount"),
                Modified   = jList.GetString("modified"),
                OgImage    = jList.GetString("ogImage"),
                Owner      = jList.ContainField("owner") ?
                             YandexOwner.FromJson(jList["owner"]) : null,
                Revision   = jList.GetInt("revision"),
                Title      = jList.GetString("title"),
                TrackCount = jList.GetInt("trackCount"),
                Visibility = jList.GetString("visibility"),
                TrackIds   = jList.ContainField("trackIds")
          ? jList["trackIds"].Select(x => int.Parse(x.ToString())).ToList() : null,
                Tracks = jList.ContainField("tracks")
          ? YandexTrack.FromJsonArray(jList["tracks"].ToObject <JArray>())
          : null
            };

            return(playlist);
        }
Example #2
0
        public YandexPlaylist GetPlaylistOfDay()
        {
            var request  = GetRequest(_settings.GetPlaylistOfDay());
            var playlist = default(YandexPlaylist);

            using (var response = (HttpWebResponse)request.GetResponse())
            {
                var data      = GetDataFromResponse(response);
                var jPlaylist = data["playlist"];
                playlist = YandexPlaylist.FromJson(jPlaylist);

                _cookies.Add(response.Cookies);
            }

            return(playlist);
        }
Example #3
0
        public List <IYandexSearchable> Search(string searchText, YandexSearchType searchType, int page = 0)
        {
            var listResult = new List <IYandexSearchable>();

            var request = GetRequest(_settings.GetSearchURL(searchText, searchType, page), WebRequestMethods.Http.Get);

            using (var response = (HttpWebResponse)request.GetResponse())
            {
                var json      = GetDataFromResponse(response);
                var fieldName = searchType.ToString().ToLower();
                var jArray    = (JArray)json[fieldName]["items"];

                if (searchType == YandexSearchType.Tracks)
                {
                    listResult = YandexTrack.FromJsonArray(jArray).Select(x => (IYandexSearchable)x).ToList();
                }
                else if (searchType == YandexSearchType.Artists)
                {
                    listResult = YandexArtist.FromJsonArray(jArray).Select(x => (IYandexSearchable)x).ToList();
                }
                else if (searchType == YandexSearchType.Albums)
                {
                    listResult = YandexAlbum.FromJsonArray(jArray).Select(x => (IYandexSearchable)x).ToList();
                }
                else if (searchType == YandexSearchType.Playlists)
                {
                    listResult = YandexPlaylist.FromJsonArray(jArray).Select(x => (IYandexSearchable)x).ToList();
                }
                else if (searchType == YandexSearchType.Users)
                {
                    listResult = YandexUser.FromJsonArray(jArray).Select(x => (IYandexSearchable)x).ToList();
                }
            }

            return(listResult);
        }