Ejemplo n.º 1
0
        private IEnumerable <CategoryListViewModel> OrderData(int column, DtOrderDir orderDirection, List <CategoryListViewModel> categories)
        {
            switch (column)
            {
            case 1:
                return(orderDirection == DtOrderDir.Asc ? categories.OrderBy(x => x.Name) : categories.OrderByDescending(x => x.Name));

            default:
                return(orderDirection == DtOrderDir.Asc ? categories.OrderBy(x => x.Name) : categories.OrderByDescending(x => x.Name));
            }
        }
Ejemplo n.º 2
0
        public static IQueryable <T> OrderByDynamic <T>(
            this IQueryable <T> query,
            string orderByMember,
            DtOrderDir ascendingDirection)
        {
            var param     = Expression.Parameter(typeof(T), "c");
            var body      = orderByMember.Split('.').Aggregate <string, Expression>(param, Expression.PropertyOrField);
            var queryable = ascendingDirection == DtOrderDir.Asc ?
                            (IOrderedQueryable <T>)Queryable.OrderBy(query.AsQueryable(), (dynamic)Expression.Lambda(body, param)) :
                            (IOrderedQueryable <T>)Queryable.OrderByDescending(query.AsQueryable(), (dynamic)Expression.Lambda(body, param));

            return(queryable);
        }