public CursorPage <OUT> ToPOCO <OUT>() { object obj = null; if (typeof(OUT) == typeof(Artist)) { obj = new CursorPage <Artist>(); ((CursorPage <Artist>)obj).Href = href; if (this.items != null) { T[] items = this.items; foreach (object obj2 in items) { if (obj2.GetType() == typeof(artist)) { ((CursorPage <Artist>)obj).Items.Add(((artist)obj2).ToPOCO()); } } } ((CursorPage <Artist>)obj).Limit = limit; ((CursorPage <Artist>)obj).Next = next; if (cursors != null) { ((CursorPage <Artist>)obj).Cursors = cursors.ToPOCO(); } ((CursorPage <Artist>)obj).Total = total; return((CursorPage <OUT>)obj); } return(null); }
/// <summary> /// /// </summary> /// <param name="user"></param> /// <param name="token"></param> /// <returns></returns> public async Task <CursorPage <Artist> > GetArtists(AuthenticationToken token, CursorPage <Artist> page = null) { _stopwatch.Reset(); _stopwatch.Start(); _client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token.AccessToken); var request = "https://api.spotify.com/v1/me/following?type=artist&limit=50"; if (page != null && page.Next != null) { request = page.Next; } var response = await _client.GetAsync(request); var data = (JObject)JObject.Parse(await response.Content.ReadAsStringAsync()); var obj = System.Text.Json.JsonSerializer.Deserialize <cursorpage <artist> >(data.First.First.ToString()); _stopwatch.Stop(); return(obj.ToPOCO <Artist>()); }