Exemplo n.º 1
0
        public IActionResult PostAdoption(AdoptionInfoModel model)
        {
            AdoptionInfos adoptionInfos = new AdoptionInfos();

            adoptionInfos.Age        = model.Age;
            adoptionInfos.Character  = model.Character;
            adoptionInfos.Child      = model.Child.ToString();
            adoptionInfos.Garden     = (bool)model.Garden;
            adoptionInfos.GardenSize = model.GardenSize;
            adoptionInfos.Genre      = model.Genre;
            adoptionInfos.Habitat    = model.Habitat;
            adoptionInfos.HairSize   = model.HairSize;
            adoptionInfos.Housing    = model.Housing;
            adoptionInfos.Size       = model.Size;
            adoptionInfos.Sportive   = model.Sportive;
            adoptionInfos.Substitute = model.Substitute.ToString();
            adoptionInfos.TimePerDay = (int)model.TimePerDay;
            adoptionInfos.Travel     = (bool)model.Travel;
            adoptionInfos.TypeAnimal = model.TypeAnimal;
            adoptionInfos.UserId     = _workContext.CurrentUser.Id;

            _adoptionInfoService.Insert(adoptionInfos);

            //Retourner les résultats du matching
            return(View());
        }
Exemplo n.º 2
0
        public ISearchResponse <ElasticAnimal> GetMatches(AdoptionInfos adoptionInfo)
        {
            var search = _client.Search <ElasticAnimal>(x => x.
                                                        Index("amimatch_animals")
                                                        .From(0)
                                                        .Size(20)
                                                        .Query(qu => qu
                                                               .Bool(b => b
                                                                     .Must(qf =>
            {
                QueryContainer query = null;

                query = qf.QueryString(m => m
                                       .Fields(new string[] { "mood" })
                                       .Query(adoptionInfo.Character)
                                       );

                query |= qf.QueryString(m => m
                                        .Fields(new string[] { "size" })
                                        .Query(adoptionInfo.Size)
                                        );

                query |= qf.QueryString(m => m
                                        .Fields(new string[] { "hair" })
                                        .Query(adoptionInfo.HairSize)
                                        );

                query |= qf.QueryString(m => m
                                        .Fields(new string[] { "species" })
                                        .Query(adoptionInfo.TypeAnimal)
                                        );

                return(query);
            }
                                                                           )
                                                                     )
                                                               ).Sort(so => so
                                                                      .Descending("_score")
                                                                      )
                                                        );

            return(search);
        }