private IQueryProvider <T> FilterData <T>(IQueryProvider <T> objectList, string search, string sortBy, string sortOrder, bool searchStartOnly, bool caseSensitive) { string query = ""; if (!objectList.Any()) { return(objectList); } //Dynamic Search if (!search.IsNullOrWhiteSpace()) { search = search.ToLower(); query = SearchQueryGenerator(objectList, search, searchStartOnly, caseSensitive); objectList = objectList.Where(query); } //Dynamic Order By if (!sortBy.IsNullOrWhiteSpace() && !sortOrder.IsNullOrWhiteSpace()) { var isAscending = sortOrder.ToLower() == "asc" ? true : false; objectList = objectList.OrderByField(sortBy, isAscending); } return(objectList); }