# How to write Conditional boolean query using Nest in c#?

**URL:** <https://discuss.elastic.co/t/how-to-write-conditional-boolean-query-using-nest-in-c/22729>\
**Category:** Elasticsearch\
**Created:** [March 18, 2015, 6:07am UTC](https://discuss.elastic.co/t/how-to-write-conditional-boolean-query-using-nest-in-c/22729 "2015-03-18T06:07:09Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sadhana\_Upadhyay](https://avatars.discourse-cdn.com/v4/letter/s/838e76/32.png) [@Sadhana\_Upadhyay](https://discuss.elastic.co/u/Sadhana_Upadhyay)\
**Post date:** [March 18, 2015, 6:07am UTC](https://discuss.elastic.co/t/how-to-write-conditional-boolean-query-using-nest-in-c/22729/1 "2015-03-18T06:07:09Z")

</div>

```
                              .Filter(ff => ff
                                      .Bool(bb => bb
                                          .Must(mm =>
                                         mm.Terms("cityId", 

```

filterInputs.cities) &&  
mm.Terms("fuelTypeId",  
filterInputs.fuels) &&  
mm.Terms("sellerType",  
filterInputs.sellers) &&  
mm.Terms("transmissionId",  
filterInputs.transmissions) &&  
mm.Terms("ownerTypeId",  
filterInputs.owners) &&

mm.Terms("usedCarMasterColorsId", filterInputs.colors) &&  
mm.Terms("bodyStyleId",  
filterInputs.bodytypes) &&  
mm.Range(y =\>  
y.OnField("certificationId").GreaterOrEquals(filterInputs.certifiedCars)) &&  
mm.Range(y =\>  
y.OnField("photoCount").GreaterOrEquals(filterInputs.carsWithPhotos)) &&  
mm.Range(y =\>  
y.OnField("makeYear").GreaterOrEquals(filterInputs.yearMin).LowerOrEquals(filterInputs.yearMax))  
&&  
mm.Range(r =\>  
r.OnField("price").GreaterOrEquals(filterInputs.budgetMin).LowerOrEquals(filterInputs.budgetMax))  
&&  
mm.Range(k =\>  
k.OnField("kilometers").GreaterOrEquals(filterInputs.kmMin).LowerOrEquals(filterInputs.kmMax))  
&&  
mm.Terms("makeId",  
filterInputs.NewMakes) ||  
mm.Terms("rootId",  
filterInputs.NewRoots)  
)  
)  
)

I need query if  
filterInputs.NewMakes is null then && condition with mm.Terms("rootId",  
filterInputs.NewRoots) otherwise it should be || condition.

Thank in advance.

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/ce4383f8-7019-4a5d-84c7-85a806ab0723%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/ce4383f8-7019-4a5d-84c7-85a806ab0723%40googlegroups.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 12:26am UTC](https://discuss.elastic.co/t/how-to-write-conditional-boolean-query-using-nest-in-c/22729/2 "2017-07-06T00:26:00Z")

</div>


