コード例 #1
0
        public static PageResponse <T> CreateSuccessResponse(IEnumerable <T> content)
        {
            var r = new PageResponse <T>(content)
            {
                Status = LastResponseStatus.Successful
            };

            return(r);
        }
コード例 #2
0
        public new static PageResponse <T> CreateSuccessResponse()
        {
            var r = new PageResponse <T>
            {
                Success = true,
                Error   = LastFmApiError.None
            };

            return(r);
        }
コード例 #3
0
        public static PageResponse <T> CreateSuccessResponse(IEnumerable <T> content)
        {
            var r = new PageResponse <T>(content)
            {
                Success = true,
                Error   = LastFmApiError.None
            };

            return(r);
        }
コード例 #4
0
        public static PageResponse <T> CreateErrorResponse(LastResponseStatus status)
        {
            var r = new PageResponse <T>
            {
                Status = status
            };

            r.AddDefaultPageInfo();

            return(r);
        }
コード例 #5
0
        public new static PageResponse <T> CreateSuccessResponse()
        {
            var r = new PageResponse <T>
            {
                Status = LastResponseStatus.Successful
            };

            r.AddDefaultPageInfo();

            return(r);
        }
コード例 #6
0
        public static PageResponse <T> CreateErrorResponse(LastFmApiError error)
        {
            var r = new PageResponse <T>
            {
                Success = false,
                Error   = error
            };

            r.AddDefaultPageInfo();

            return(r);
        }
コード例 #7
0
        public static PageResponse <T> CreateSuccessResponse(JToken itemsToken, JToken pageInfoToken, Func <JToken, T> parseToken, LastPageResultsType pageResultsType)
        {
            IEnumerable <T> items;

            if (itemsToken != null && itemsToken.Children().Any())
            {
                // array notation isn't used on the api when only one object is available
                if (itemsToken.Type != JTokenType.Array)
                {
                    var item = parseToken(itemsToken);
                    items = new[] { item };
                }
                else
                {
                    items = itemsToken.Children().Select(parseToken);
                }
            }
            else
            {
                items = Enumerable.Empty <T>();
            }

            var pageresponse = new PageResponse <T>(items);

            switch (pageResultsType)
            {
            case LastPageResultsType.Attr:
                pageresponse.AddPageInfoFromJToken(pageInfoToken);
                break;

            case LastPageResultsType.OpenQuery:
                pageresponse.AddPageInfoFromOpenQueryJToken(pageInfoToken);
                break;

            case LastPageResultsType.None:
            default:
                pageresponse.AddDefaultPageInfo(pageresponse.Content);
                break;
            }

            pageresponse.Success = true;

            return(pageresponse);
        }