Пример #1
0
        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));
        }
Пример #2
0
        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);
        }