示例#1
0
        /// <summary>
        /// <see cref="IRdioManager.GetTracksInCollection"/>
        /// </summary>
        public IEnumerable <RdioTrack> GetTracksInCollection(string user     = null, int start = 0, int count = 0,
                                                             RdioSortBy sort = RdioSortBy.None, string query = null)
        {
            var postData = new NameValueCollection
            {
                { "method", "getTracksInCollection" }
            };

            if (!string.IsNullOrEmpty(user))
            {
                postData.Add("user", user);
            }
            if (start > 0)
            {
                postData.Add("start", start.ToString());
            }
            if (count > 0)
            {
                postData.Add("count", count.ToString());
            }
            if (sort != RdioSortBy.None)
            {
                postData.Add("sort", getAPISortValue(sort));
            }
            if (!string.IsNullOrEmpty(query))
            {
                postData.Add("query", query);
            }

            var result       = MakeWebRequest(postData);
            var deserialized = Deserialize(result, typeof(RdioResult <IList <RdioTrack> >));

            return(((RdioResult <IList <RdioTrack> >)deserialized).Result);
        }
示例#2
0
        private static string getAPISortValue(RdioSortBy sort)
        {
            if (sort == RdioSortBy.DateAdded)
            {
                return("dateAdded");
            }
            if (sort == RdioSortBy.PlayCount)
            {
                return("playCount");
            }

            return(sort.ToString().ToLowerInvariant());
        }
示例#3
0
        private static string getAPISortValue(RdioSortBy sort)
        {
            if (sort == RdioSortBy.DateAdded) return "dateAdded";
            if (sort == RdioSortBy.PlayCount) return "playCount";

            return sort.ToString().ToLowerInvariant();
        }
示例#4
0
        /// <summary>
        /// <see cref="IRdioManager.GetTracksInCollection"/>
        /// </summary>
        public IEnumerable<RdioTrack> GetTracksInCollection(string user = null, int start = 0, int count = 0,
            RdioSortBy sort = RdioSortBy.None, string query = null)
        {
            var postData = new NameValueCollection
                               {
                                   {"method", "getTracksInCollection"}
                               };
            if (!string.IsNullOrEmpty(user)) postData.Add("user", user);
            if (start > 0) postData.Add("start", start.ToString());
            if (count > 0) postData.Add("count", count.ToString());
            if (sort != RdioSortBy.None) postData.Add("sort", getAPISortValue(sort));
            if (!string.IsNullOrEmpty(query)) postData.Add("query", query);

            var result = MakeWebRequest(postData);
            var deserialized = Deserialize(result, typeof(RdioResult<IList<RdioTrack>>));
            return ((RdioResult<IList<RdioTrack>>)deserialized).Result;
        }