public async Task <IEnumerable <CarInfoResponse> > GetCarInfoList(CarInfoSearch carInfoSearch) { var filter = buildFilter(carInfoSearch); IEnumerable <CarInfoResponse> carInfoList = await _repo.GetCarInfoList(filter); return(carInfoList); }
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); }
public async Task <IActionResult> SearchCarInfo([FromBody] CarInfoSearch carInfoSearch) { return(Ok(await _provider.GetCarInfoList(carInfoSearch))); }