Ejemplo n.º 1
0
        public static IQueryable <T> ApplyOrdering <T>(this IQueryable <T> query, IQueryObject queryObj, Dictionary <string, Expression <Func <T, object> > > columnsMap)
        {
            if (String.IsNullOrWhiteSpace(queryObj.SortBy) || !columnsMap.ContainsKey(queryObj.SortBy))
            {
                return(query);
            }

            if (queryObj.IsSortAscending)
            {
                return(query = query.OrderBy(columnsMap[queryObj.SortBy]));
            }
            else
            {
                return(query = query.OrderByDescending(columnsMap[queryObj.SortBy]));
            }
        }
Ejemplo n.º 2
0
        public static IQueryable <T> ApplyOrdering <T>(this IQueryable <T> query, IQueryObject queryObj, Dictionary <string, Expression <Func <T, object> > > columnsMap)
        {
            if (String.IsNullOrWhiteSpace(queryObj.SortBy) || !columnsMap.ContainsKey(queryObj.SortBy))
            {
                return(query);
            }

            if (queryObj.IsSortAscending)
            {
                return(query.OrderBy(columnsMap[queryObj.SortBy])); // pristupamo dictionary columnsMap i trazimo po indexu odgovarajucu vrednost
            }
            else
            {
                return(query.OrderByDescending(columnsMap[queryObj.SortBy]));
            }
        }
Ejemplo n.º 3
0
        public static IQueryable <T> ApplyPaging <T>(
            this IQueryable <T> query,
            IQueryObject queryObj)
        {
            if (queryObj.Page <= 0)
            {
                queryObj.Page = 1;
            }

            if (queryObj.PageSize <= 0)
            {
                queryObj.PageSize = 10;
            }



            return(query.Skip((queryObj.Page - 1) * queryObj.PageSize).Take(queryObj.PageSize));
        }