public async Task <List <Card> > QueryJobPosting(int fromNumber, string keywords, int size) { var client = new HttpClient(); HttpResponseMessage response = null; RootDSLObject dsl = new RootDSLObject(); try { dsl.from = fromNumber; dsl.size = size; dsl.query = new Query(); dsl.query.@bool = new Bool(); [email protected] = new List <Must>(); [email protected] = new List <Filter>(); [email protected](new Must { match = new { Answer = keywords } }); [email protected](new Must { match = new { Question = keywords } }); } catch (Exception e) { Console.WriteLine(e); } var json = JsonConvert.SerializeObject(dsl); var data = new StringContent(json, Encoding.UTF8, "application/json"); response = await client.PostAsync(baseUrl + "_search", data); var result = response.Content.ReadAsStringAsync().Result; try { RootResponseObject list = JsonConvert .DeserializeObject <RootResponseObject>(result); List <Card> listsCards = new List <Card>(); foreach (var item in list.hits.hits) { listsCards.Add(item._source); } return(listsCards); } catch (Exception ex) { Console.WriteLine(ex.InnerException); return(new List <Card>()); } }
public async Task <List <Card> > QueryJobPosting(int fromNumber, string keywords, int size, CardType?cardType) { var client = new HttpClient(); string result = ""; HttpResponseMessage response = null; if (string.IsNullOrEmpty(keywords.Replace(" ", ""))) { string finalQueryString = baseUrl + "_search?" + "q=Type:" + (int)cardType + "&from=" + fromNumber + "&size=" + size; response = await client.GetAsync(finalQueryString); result = response.Content.ReadAsStringAsync().Result; } else { RootDSLObject dsl = new RootDSLObject(); try { dsl.from = fromNumber; dsl.size = size; dsl.query = new Query(); dsl.query.@bool = new Bool(); [email protected] = new List <Must>(); [email protected] = new List <Filter>(); [email protected](new Must { match = new { Answer = keywords } }); [email protected](new Must { match = new { Question = keywords } }); [email protected](new Filter { term = new { Type = cardType } }); } catch (Exception e) { Console.WriteLine(e); } var json = JsonConvert.SerializeObject(dsl); var data = new StringContent(json, Encoding.UTF8, "application/json"); response = await client.PostAsync(baseUrl + "_search", data); result = response.Content.ReadAsStringAsync().Result; } try { RootResponseObject list = JsonConvert .DeserializeObject <RootResponseObject>(result); List <Card> listsCards = new List <Card>(); foreach (var item in list.hits.hits) { listsCards.Add(item._source); } return(listsCards); } catch (Exception ex) { Console.WriteLine(ex.InnerException); return(new List <Card>()); } }