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); }
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); }
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)); }