var queryList = new List<ISolrQuery>();
if (condition1)
    queryList.Add(new SolrMultipleCriteriaQuery(new List<ISolrQuery>
                {
                    new SolrQueryByRange<decimal>("field1", 1, 10),
                    new SolrQueryByRange<decimal>("field2", 1, 10),
                    new SolrQueryByRange<decimal>("field3", 1, 10)
                }, "OR"));
if (condition2)
    queryList.Add(new SolrQueryByField("field3", keyword));

if (condition3)
    queryList.Add(new SolrQueryByField("field4", keyword));

var finalQuery = new SolrMultipleCriteriaQuery(queryList, "AND");