public virtual Query Translate(QueryBase query)
{
var fieldQuery = query as FieldQuery;
if (fieldQuery != null)
{
return ConvertFieldQuery(fieldQuery);
}
var combinedQuery = query as CombinedQuery;
if (combinedQuery != null)
{
return ConvertCombinedQuery(combinedQuery);
}
var fullTextQuery = query as FullTextQuery;
if (fullTextQuery == null)
{
throw new Exception("Unknown query type");
}
Assert.IsNotNull(fullTextQuery.Query, "Full text query is empty");
Assert.IsNotNullOrEmpty(fullTextQuery.Query.Trim(), "Full text query is empty");
return InternalParse(fullTextQuery.Query);
}