Figured it out:
Func<SortDescriptor<dynamic>, IPromise<IList<ISort>>> sortList = st =>
{
if (queryBuilder.Sort != null)
{
foreach (var option in queryBuilder.Sort)
{
if (option.SortOrder == "ASC")
{
st.Ascending(option.Key);
}
else
{
st.Descending(option.Key);
}
}
}
else
{
st.Ascending(SortSpecialField.Score);
}
return st;
};
Then in the query:
.Sort(sortList)