Beispiel #1
0
        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);
        }