Nested sort with query over
private static void addOrder(ICriteria criteria, string sidx, string sord)
{
var firstDotPos = sidx.IndexOf(".");
if(firstDotPos == -1)
{
criteria.AddOrder(
sord == "asc"
? Order.Asc(sidx)
: Order.Desc(sidx));
} else
{
var subCriteria = criteria.CreateCriteria(sidx.Substring(0, firstDotPos));
var remainingSidx = sidx.Substring(firstDotPos + 1);
addOrder(subCriteria,remainingSidx,sord);
}
}