public async Task <KvkSearchApiResult> Search(KvkSearchApiParameters parameters)
        {
            var httpClient = _httpClientFactory.CreateClient();

            var search = new List <string>
            {
                GetFormattedQueryString()
            };

            if (!string.IsNullOrWhiteSpace(parameters.Q))
            {
                search.Add($"q={parameters.Q}");
            }
            if (parameters.StartPage > 0)
            {
                search.Add($"startpage={parameters.StartPage}");
            }
            // TODO (?): add other parameters

            var url    = string.Join("&", search);
            var result = await httpClient.GetAsync(url);

            result.EnsureSuccessStatusCode();
            var content = await result.Content.ReadAsStringAsync();

            var apiResult = JsonConvert.DeserializeObject <KvkSearchApiResultWrapper>(content);

            return(apiResult.Data);
        }
        public async Task <ActionResult> Get(string q, int startPage = 0)
        {
            var kvkSearchApiParameters = new KvkSearchApiParameters()
            {
                Q = q, StartPage = startPage
            };
            var result = await _kvkSearchApi.Search(kvkSearchApiParameters);

            return(Json(result));
        }