public async Task <List <User> > CreateUser(User user) { var http = new HttpClient(); RequstSearch <User, User> requstUser = new RequstSearch <User, User>() { Query = "", Model = user, Page = 1, PageSize = 15 }; List <User> Users = new List <User>(); string result; //using (var request = new HttpRequestMessage(HttpMethod.Post, "http://10.4.13.118:9966/api/elastic")) using (var request = new HttpRequestMessage(HttpMethod.Post, "http://127.0.0.1:5000/api/dynamic")) { request.Content = new StringContent(JsonConvert.SerializeObject(requstUser), Encoding.UTF8, "application/json"); var response = await http.SendAsync(request); result = await response.Content.ReadAsStringAsync(); if (response.StatusCode == HttpStatusCode.OK) { return(Users); } else if (response.StatusCode == HttpStatusCode.BadRequest) { return(JsonConvert.DeserializeObject <List <User> >(result)); } else { return(null); } }; }
public async Task <IActionResult> GetTest([FromBody] RequstSearch <User, User> requstSearch) { try { var Similar = await _search.SerTest(requstSearch.Query, requstSearch.Page, requstSearch.PageSize, requstSearch.Model, null, null, new List <Func <QueryContainerDescriptor <User>, QueryContainer> >() { sh => sh .Match(c => c .Field(p => p.CustomerName) .Query(requstSearch.Model.CustomerName) .MinimumShouldMatch(MinimumShouldMatch.Percentage(70)) ) , sh => sh .Match(c => c .Field(p => p.Email) .Query(requstSearch.Model.Email) .MinimumShouldMatch(MinimumShouldMatch.Percentage(90)) ) , sh => sh .Match(c => c .Field(p => p.Phone1) .Query(requstSearch.Model.Phone1) .MinimumShouldMatch(MinimumShouldMatch.Percentage(100)) ) , sh => sh .Match(c => c .Field(p => p.Phone2) .Query(requstSearch.Model.Phone2) .MinimumShouldMatch(MinimumShouldMatch.Percentage(100)) ) } ); List <Models.User> UserSimilar = new List <User>(); if (Similar.Count > 0) { Console.WriteLine("1"); requstSearch.Model.Parent = Similar; UserSimilar.Add(requstSearch.Model); } //else //{ // await _search.Add(requstSearch.Model); //} return(await Task.FromResult(Ok(requstSearch.Model))); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <IActionResult> Create([FromBody] RequstSearch <User, User> requstSearch) { try { var Check = await _search.Check(requstSearch.Query, requstSearch.Model, null, null, new List <Func <QueryContainerDescriptor <User>, QueryContainer> >() { sh => sh .Match(c => c .Field(p => p.CustomerName) .Query(requstSearch.Model.CustomerName) .Fuzziness(Fuzziness.Ratio(75))) , sh => sh .Match(c => c .Field(p => p.Email) .Query(requstSearch.Model.Email) .Fuzziness(Fuzziness.Ratio(100)) ) , sh => sh .Match(c => c .Field(p => p.Phone1) .Query(requstSearch.Model.Phone1) .Fuzziness(Fuzziness.Ratio(100))) , sh => sh .Match(c => c .Field(p => p.Phone2) .Query(requstSearch.Model.Phone2) .Fuzziness(Fuzziness.Ratio(100))) } ); if (Check.Any()) { return(BadRequest(Check.ToList())); } await _search.Add(requstSearch.Model); return(Ok(requstSearch.Model)); } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <IActionResult> Get1([FromBody] RequstSearch <User, User> requstSearch) { try { return(await Task.FromResult(Ok(_search.Ser(requstSearch.Query, requstSearch.Page, requstSearch.PageSize, requstSearch.Model, null, null, new List <Func <QueryContainerDescriptor <User>, QueryContainer> >() { sh => sh .Match(c => c .Field(p => p.CustomerName) .Query(requstSearch.Model.CustomerName) .Fuzziness(Fuzziness.Ratio(75))) , sh => sh .Match(c => c .Field(p => p.Email) .Query(requstSearch.Model.Email) .Fuzziness(Fuzziness.Ratio(100)) ) , sh => sh .Match(c => c .Field(p => p.Phone1) .Query(requstSearch.Model.Phone1) .Fuzziness(Fuzziness.Ratio(100))) , sh => sh .Match(c => c .Field(p => p.Phone2) .Query(requstSearch.Model.Phone2) .Fuzziness(Fuzziness.Ratio(100))) } ).Result.ToList()))); } catch (Exception ex) { return(BadRequest(ex.Message)); } }