public static YPlaylistChangeResponse FromJson(JToken json) { var x = json["playlist"]; var playlistOwner = new YOwner { Uid = x["owner"]["uid"].ToObject <string>(), Login = x["owner"]["login"].ToObject <string>(), Name = x["owner"]["name"].ToObject <string>(), Sex = x["owner"]["sex"]?.ToObject <string>(), Verified = x["owner"]["verified"]?.ToObject <bool>() }; var tracks = x.SelectToken("tracks")?.Select(f => new YLibraryPlaylistResponse.YandexLibraryPlaylist.YandexLibraryPlaylistTrack { Id = f["id"]?.ToObject <long?>(), Timestamp = f["timestamp"]?.ToObject <string>(), AlbumId = f["albumId"]?.ToObject <long?>() }).ToList(); var libraryCover = YCover.FromJson(x.SelectToken("cover")); var playlist = new YLibraryPlaylistResponse.YandexLibraryPlaylist { Owner = playlistOwner, Available = x["available"]?.ToObject <bool>(), Uid = x["uid"]?.ToObject <long>(), Kind = x["kind"]?.ToObject <long>(), Title = x["title"]?.ToObject <string>(), Revision = x["revision"]?.ToObject <long>(), Snapshot = x["snapshot"]?.ToObject <long>(), TrackCount = x["trackCount"]?.ToObject <long>(), Visibility = x["visibility"]?.ToObject <string>(), Collective = x["collective"]?.ToObject <bool>(), Created = x["created"]?.ToObject <string>(), Modified = x["modified"]?.ToObject <string>(), IsBanner = x["isBanner"]?.ToObject <bool>(), IsPremiere = x["isPremiere"]?.ToObject <bool>(), DurationMs = x["durationMs"]?.ToObject <long>(), Cover = libraryCover, OgImage = x["ogImage"]?.ToObject <string>(), Tracks = tracks, Tags = x["tags"]?.ToString(), Prerolls = x["prerolls"]?.ToString(), }; return(new YPlaylistChangeResponse { Success = json["success"].ToObject <bool>(), Playlist = playlist }); }
public static YArtistResponse FromJson(JToken jArtist) { var artist = new YArtistResponse { Id = jArtist.GetString("id"), Name = jArtist.GetString("name"), Various = jArtist.GetBool("various"), Composer = jArtist.GetBool("composer"), Cover = jArtist.ContainField("cover") ? YCover.FromJson(jArtist["cover"]) : null, Genres = new string[] { } }; return(artist); }
internal static YSearchArtist FromJson(JToken json) { if (json == null) { return(null); } return(new YSearchArtist { Id = json.SelectToken("id")?.ToObject <string>(), Name = json.SelectToken("name")?.ToObject <string>(), Cover = YCover.FromJson(json.SelectToken("cover")), Composer = json.SelectToken("composer")?.ToObject <bool>(), Various = json.SelectToken("various")?.ToObject <bool>(), Decomposed = json.SelectToken("decomposed")?.Select(x => x.ToObject <string>()).ToList() }); }
internal static YSearchArtistModel FromJson(JToken json) { if (json == null) { return(null); } return(new YSearchArtistModel { Id = json.SelectToken("id")?.ToObject <string>(), Name = json.SelectToken("name")?.ToObject <string>(), Cover = YCover.FromJson(json.SelectToken("cover")), Composer = json.SelectToken("composer")?.ToObject <bool>(), Various = json.SelectToken("various")?.ToObject <bool>(), Counts = YSearchArtistCounter.FromJson(json.SelectToken("counts")), Genres = json.SelectToken("genres")?.Select(x => x.ToObject <string>()).ToList(), TicketsAvailable = json.SelectToken("ticketsAvailable")?.ToObject <bool>(), PopularTracks = json.SelectToken("popularTracks")?.Select(x => YSearchTrackModel.FromJson(x)).ToList(), Regions = json.SelectToken("regions")?.Select(x => x.ToObject <string>()).ToList() }); }
internal static YSearchPlaylistModel FromJson(JToken json) { if (json == null) { return(null); } return(new YSearchPlaylistModel { Revision = json.SelectToken("revision")?.ToObject <int?>(), Kind = json.SelectToken("kind")?.ToObject <string>(), Title = json.SelectToken("title")?.ToObject <string>(), Description = json.SelectToken("description")?.ToObject <string>(), DescriptionFormatted = json.SelectToken("descriptionFormatted")?.ToObject <string>(), TrackCount = json.SelectToken("trackCount")?.ToObject <int>(), Cover = YCover.FromJson(json.SelectToken("cover")), Owner = YOwner.FromJson(json["owner"]), Tags = json.SelectToken("tags")?.Select(x => x.ToObject <string>()).ToList(), LikesCount = json.SelectToken("likesCount")?.ToObject <long>(), }); }
public static YLibraryPlaylistResponse FromJson(JToken json) { var playlists = new List <YLibraryPlaylistResponse.YandexLibraryPlaylist>(); foreach (var x in json["playlists"]) { var playlistOwner = new YOwner { Uid = x["owner"]["uid"].ToObject <string>(), Login = x["owner"]["login"].ToObject <string>(), Name = x["owner"]["name"].ToObject <string>(), Sex = x["owner"]["sex"]?.ToObject <string>(), Verified = x["owner"]["verified"]?.ToObject <bool>() }; var tracks = x.SelectToken("tracks")?.Select(f => new YandexLibraryPlaylist.YandexLibraryPlaylistTrack { Id = f["id"]?.ToObject <long?>(), Timestamp = f["timestamp"]?.ToObject <string>(), AlbumId = f["albumId"]?.ToObject <long?>() }).ToList(); var libraryCover = YCover.FromJson(x.SelectToken("cover")); var playlist = new YandexLibraryPlaylist { Owner = playlistOwner, Available = x["available"]?.ToObject <bool>(), Uid = x["uid"]?.ToObject <long>(), Kind = x["kind"]?.ToObject <long>(), Title = x["title"]?.ToObject <string>(), Revision = x["revision"]?.ToObject <long>(), Snapshot = x["snapshot"]?.ToObject <long>(), TrackCount = x["trackCount"]?.ToObject <long>(), Visibility = x["visibility"]?.ToObject <string>(), Collective = x["collective"]?.ToObject <bool>(), Created = x["created"]?.ToObject <string>(), Modified = x["modified"]?.ToObject <string>(), IsBanner = x["isBanner"]?.ToObject <bool>(), IsPremiere = x["isPremiere"]?.ToObject <bool>(), DurationMs = x["durationMs"]?.ToObject <long>(), Cover = libraryCover, OgImage = x["ogImage"]?.ToObject <string>(), Tracks = tracks, Tags = x["tags"]?.ToString(), Prerolls = x["prerolls"]?.ToString(), }; playlists.Add(playlist); } var libraryOwner = new YOwner { Uid = json["owner"]["uid"].ToObject <string>(), Login = json["owner"]["login"].ToObject <string>(), Name = json["owner"]["name"].ToObject <string>(), Sex = string.Empty, Verified = null }; var profiles = json["profiles"].Select(x => new YProfile { Provider = x["provider"].ToObject <string>(), Addresses = x["addresses"].Select(f => f.ToObject <string>()).ToList() }).ToList(); var counts = new YLikedCounts { LikedArtists = json["counts"]["likedArtists"].ToObject <long>(), LikedAlbums = json["counts"]["likedAlbums"].ToObject <long>(), }; return(new YLibraryPlaylistResponse { Success = json["success"].ToObject <bool>(), BookmarksPlaylistsIds = json["bookmarksPlaylistsIds"].ToString(), Bookmarks = json["bookmarks"].ToString(), PlaylistIds = json["playlistIds"].Select(x => x.ToObject <long>()).ToList(), Playlists = playlists, Verified = json["verified"].ToObject <bool>(), Owner = libraryOwner, Visibility = json["visibility"].ToObject <bool>(), Profiles = profiles, Counts = counts, HasTracks = json["hasTracks"].ToObject <bool>(), IsRadioAvailable = json["isRadioAvailable"].ToObject <bool>() }); }