I have a table that I am writing some C# selenium automation for and need some help using Dynamic Linq. Let's say I have a basic AcctNum, AcctDate and AcctName record and each field can be sorted by the user. They could choose AcctNum (asc), AcctDate(asc) and finally AcctName (asc).
That would be:
var sortedCode = records.OrderBy(r => r.AcctNum)
.ThenBy(r => r.AcctDate)
.ThenBy(r => r.AcctName)
.ToList();
However the user could also choose AcctNum (desc), AcctDate(asc) and finally AcctName (desc).
What I would like to do is use Dynamic Linq and make each sort order a variable.
So something like:
//passed in values:
var varAcctNumOrd = "desc";
var varDateOrd = "asc";
var varAcctOrd = "desc";
var sortedCode = records.OrderBy(r => r.AcctNum, varAcctNumOrd)
.ThenBy(r => r.AcctDate, varDateOrd)
.ThenBy(r => r.AcctNum, varAcctOrd)
.ToList();
Is this possible?