public async Task <LocalWikiSearchResultSet> SearchList(SearchListRequestParameter requestParameters) { if (requestParameters == null) { throw new ArgumentNullException(nameof(requestParameters)); } var requestUrl = UrlHelper.GenerateUrl(_wikiApiUrl, SearchListUrlSegment); var parameters = GetSearchListParameters(requestParameters); var json = await _wikiaHttpClient.GetString(requestUrl, parameters); return(JsonHelper.Deserialize <LocalWikiSearchResultSet>(json)); }
private static IDictionary <string, string> GetSearchListParameters(SearchListRequestParameter requestParameters) { IDictionary <string, string> parameters = new Dictionary <string, string> { ["query"] = string.Join(",", requestParameters.Query), [Constants.Limit] = requestParameters.Limit.ToString(), [Constants.MinArticleQuality] = requestParameters.MinArticleQuality.ToString(), ["batch"] = requestParameters.Batch.ToString(), [Constants.Namespaces] = string.Join(",", requestParameters.Namespaces) }; if (!string.IsNullOrEmpty(requestParameters.Type)) { parameters["type"] = requestParameters.Type; } if (!string.IsNullOrEmpty(requestParameters.Rank)) { parameters["rank"] = requestParameters.Rank; } return(parameters); }