private List<FundraisingMenuResult> OrderProjectRecords(List<FundraisingMenuResult> allProjects, DataTableParameters parameters)
{
IOrderedEnumerable<FundraisingMenuResult> orderedData = allProjects
.OrderBy(r => r.ProjectPackage[0].Priority)
.ThenBy(r => r.ProjectPackage[0].PackageName);
foreach (var orderByClause in parameters.order)
{
var evalFunc = EvaluateOrderBy(orderByClause.column, parameters.columns);
if (evalFunc != null)
{
bool asc = orderByClause.dir == OrderingData.OrderingDirection.asc;
orderedData = asc ?
orderedData.ThenBy(evalFunc) :
orderedData.ThenByDescending(evalFunc);
}
}
return orderedData.ToList();
}