示例#1
0
        public ActionResult GetPlistMenuChildren(GetPlistMenuChildren requestModel)
        {
            if (requestModel.ParentId == Guid.Empty)
            {
                requestModel.ParentId = null;
            }
            if (!ModelState.IsValid)
            {
                return(ModelState.ToJsonResult());
            }
            foreach (var filter in requestModel.Filters)
            {
                PropertyState property;
                if (!base.EntityType.TryGetProperty(filter.field, out property))
                {
                    throw new ValidationException("意外的Menu实体类型属性" + filter.field);
                }
            }
            int pageIndex = requestModel.PageIndex;
            int pageSize  = requestModel.PageSize;
            var queryable = AcDomain.MenuSet.Where(a => a.ParentId == requestModel.ParentId).Select(MenuTr.Create).AsQueryable();

            foreach (var filter in requestModel.Filters)
            {
                queryable = queryable.Where(filter.ToPredicate(), filter.value);
            }
            var list = queryable.OrderBy(requestModel.SortField + " " + requestModel.SortOrder).Skip(pageIndex * pageSize).Take(pageSize);

            return(this.JsonResult(new MiniGrid <MenuTr> {
                total = queryable.Count(), data = list
            }));
        }
示例#2
0
        public ActionResult GetPlistMenuChildren(GetPlistMenuChildren requestModel)
        {
            if (requestModel.ParentId == Guid.Empty)
            {
                requestModel.ParentId = null;
            }
            if (!ModelState.IsValid)
            {
                return ModelState.ToJsonResult();
            }
            foreach (var filter in requestModel.Filters)
            {
                PropertyState property;
                if (!base.EntityType.TryGetProperty(filter.field, out property))
                {
                    throw new ValidationException("意外的Menu实体类型属性" + filter.field);
                }
            }
            int pageIndex = requestModel.PageIndex;
            int pageSize = requestModel.PageSize;
            var queryable = AcDomain.MenuSet.Where(a => a.ParentId == requestModel.ParentId).Select(MenuTr.Create).AsQueryable();
            foreach (var filter in requestModel.Filters)
            {
                queryable = queryable.Where(filter.ToPredicate(), filter.value);
            }
            var list = queryable.OrderBy(requestModel.SortField + " " + requestModel.SortOrder).Skip(pageIndex * pageSize).Take(pageSize);

            return this.JsonResult(new MiniGrid<MenuTr> { total = queryable.Count(), data = list });
        }