예제 #1
0
        public async Task <IEnumerable <CarInfoResponse> > GetCarInfoList(CarInfoSearch carInfoSearch)
        {
            var filter = buildFilter(carInfoSearch);
            IEnumerable <CarInfoResponse> carInfoList = await _repo.GetCarInfoList(filter);

            return(carInfoList);
        }
예제 #2
0
        private FilterDefinition <CarInfoResponse> buildFilter(CarInfoSearch carInfoSearch)
        {
            var builder = Builders <CarInfoResponse> .Filter;
            FilterDefinition <CarInfoResponse> buildFilter = null;

            foreach (var filter in carInfoSearch.filters)
            {
                //we'll only support "equal" for now.
                if (filter.Operation.ToLower() == "equal")
                {
                    if (buildFilter == null)
                    {
                        buildFilter = builder.Eq(filter.Field, filter.Value);
                    }
                    else
                    {
                        buildFilter &= builder.Eq(filter.Field, filter.Value);
                    }
                }
            }

            return(buildFilter);
        }
예제 #3
0
 public async Task <IActionResult> SearchCarInfo([FromBody] CarInfoSearch carInfoSearch)
 {
     return(Ok(await _provider.GetCarInfoList(carInfoSearch)));
 }