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?