コード例 #1
0
ファイル: WikiArticle.cs プロジェクト: fablecode/wikia
        public async Task <T> PopularArticle <T>(PopularArticleRequestParameters requestParameters, bool expand)
        {
            if (requestParameters.Limit <= 0 || requestParameters.Limit > 10)
            {
                throw new ArgumentOutOfRangeException(nameof(requestParameters.Limit), "Maximum limit is 10.");
            }

            var json = await ArticleRequest(ArticleEndpoint.Popular, () => GetPopularArticleParameters(requestParameters, true));

            return(Deserialize <T>(json));
        }
コード例 #2
0
        public async Task <T> PopularArticle <T>(PopularArticleRequestParameters requestParameters, bool expand)
        {
            if (requestParameters == null)
            {
                throw new ArgumentNullException(nameof(requestParameters));
            }

            if (requestParameters.Limit <= 0 || requestParameters.Limit > 10)
            {
                throw new ArgumentOutOfRangeException(nameof(requestParameters.Limit), "Minimum limit is 1 and maximum is 10");
            }

            var json = await ArticleRequest(ArticleEndpoint.Popular, () => ArticleHelper.GetPopularArticleParameters(requestParameters, true));

            return(JsonHelper.Deserialize <T>(json));
        }
コード例 #3
0
        public static IDictionary <string, string> GetPopularArticleParameters(PopularArticleRequestParameters requestParameters, bool expanded)
        {
            IDictionary <string, string> parameters = new Dictionary <string, string>
            {
                [Constants.Limit] = requestParameters.Limit.ToString(),
            };

            if (expanded)
            {
                parameters[Constants.Expand] = "1";
            }

            if (requestParameters.BaseArticleId.HasValue)
            {
                parameters["basearticleid"] = string.Join(",", requestParameters.BaseArticleId);
            }

            return(parameters);
        }
コード例 #4
0
ファイル: WikiArticle.cs プロジェクト: fablecode/wikia
        private IDictionary <string, string> GetPopularArticleParameters(PopularArticleRequestParameters requestParameters, bool expanded = false)
        {
            IDictionary <string, string> parameters = new Dictionary <string, string>
            {
                ["limit"] = requestParameters.Limit.ToString(),
            };

            if (expanded)
            {
                parameters["expand"] = "1";
            }

            if (requestParameters.BaseArticleId.HasValue)
            {
                parameters["basearticleid"] = string.Join(",", requestParameters.BaseArticleId);
            }

            return(parameters);
        }
コード例 #5
0
 public Task <PopularExpandedArticleResultSet> PopularArticleDetail(PopularArticleRequestParameters requestParameters)
 {
     return(PopularArticle <PopularExpandedArticleResultSet>(requestParameters, true));
 }
コード例 #6
0
 public Task <PopularListArticleResultSet> PopularArticleSimple(PopularArticleRequestParameters requestParameters)
 {
     return(PopularArticle <PopularListArticleResultSet>(requestParameters, false));
 }
コード例 #7
0
 public static IDictionary <string, string> GetPopularArticleParameters(PopularArticleRequestParameters requestParameters)
 {
     return(GetPopularArticleParameters(requestParameters, false));
 }