public async Task <string> SearchCompaniesAndPersons(SearchTypes type, FindCompaniesAndPersonsModel find) { var queryList = new List <string>(); if (!string.IsNullOrWhiteSpace(find.what)) { queryList.Add("what=" + find.what.Trim()); } if (!string.IsNullOrWhiteSpace(find.where)) { queryList.Add("where=" + find.where.Trim()); } if (find.pageNumber < 1) { find.pageNumber = 1; } queryList.Add("page.number=" + find.pageNumber.ToString()); if (find.pageSize < 1) { find.pageSize = 1; } queryList.Add("page.size=" + find.pageSize.ToString()); var query = string.Join("&", queryList); if (query == "") { throw new Exception("Search parameters are missing"); } query = type.ToString() + "?" + query; var client = GetClient(); HttpResponseMessage response = await client.GetAsync("https://api.hitta.se/publicsearch/v1/" + query); if (response.IsSuccessStatusCode) { return(await response.Content.ReadAsStringAsync()); } else { return(""); } }
public async Task <IActionResult> SearchPersons([FromQuery] FindCompaniesAndPersonsModel model) { try { var client = new Client(); var res = await client.SearchCompaniesAndPersons(SearchTypes.persons, model); if (string.IsNullOrWhiteSpace(res)) { return(NoContent()); } else { return(Ok(res)); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }