예제 #1
0
        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);
                }
            };
        }
예제 #2
0
        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));
            }
        }
예제 #3
0
        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));
            }
        }
예제 #4
0
        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));
            }
        }