Пример #1
0
        public static IDictionary <string, string> GetNewArticleParameters(NewArticleRequestParameters requestParameters)
        {
            IDictionary <string, string> parameters = new Dictionary <string, string>
            {
                [Constants.Limit]             = requestParameters.Limit.ToString(),
                [Constants.MinArticleQuality] = requestParameters.MinArticleQuality.ToString(),
            };

            if (requestParameters.Namespaces.Any())
            {
                parameters[Constants.Namespaces] = string.Join(",", requestParameters.Namespaces);
            }

            return(parameters);
        }
Пример #2
0
        private IDictionary <string, string> GetNewArticleParameters(NewArticleRequestParameters requestParameters)
        {
            IDictionary <string, string> parameters = new Dictionary <string, string>
            {
                ["limit"]             = requestParameters.Limit.ToString(),
                ["minArticleQuality"] = requestParameters.MinArticleQuality.ToString(),
            };

            if (requestParameters.Namespaces.Any())
            {
                parameters["namespaces"] = string.Join(",", requestParameters.Namespaces);
            }

            return(parameters);
        }
Пример #3
0
        public async Task <NewArticleResultSet> NewArticles(NewArticleRequestParameters requestParameters)
        {
            if (requestParameters == null)
            {
                throw new ArgumentNullException(nameof(requestParameters));
            }

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

            if (requestParameters.MinArticleQuality <= 0 || requestParameters.MinArticleQuality > 99)
            {
                throw new ArgumentOutOfRangeException(nameof(requestParameters.MinArticleQuality), "Minimal value of article quality. Ranges from 0 to 99.");
            }

            var json = await ArticleRequest(ArticleEndpoint.NewArticles, () => ArticleHelper.GetNewArticleParameters(requestParameters));

            return(JsonHelper.Deserialize <NewArticleResultSet>(json));
        }