Пример #1
0
        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);
        }
Пример #2
0
        /// <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>());
        }