private IQueryable <ProgrammingTask> ApplyOrdering( TaskQuery queryObj, IQueryable <ProgrammingTask> query, Dictionary <string, Expression <Func <ProgrammingTask, object> > > columnsMap) { // Apply sorting based on the columnsMap & IsSortAsc value, which are both given in the Query String if (queryObj.IsSortAscending) { query = query.OrderBy(columnsMap[queryObj.SortBy]); } else { query = query.OrderByDescending(columnsMap[queryObj.SortBy]); } return(query); }