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); }
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); }
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); }