Beispiel #1
0
        public ActionResult GetPlistInfoRules(GetPlistInfoRules requestData)
        {
            if (!ModelState.IsValid)
            {
                return(ModelState.ToJsonResult());
            }
            EntityTypeState infoRuleEntityType;

            if (!AcDomain.EntityTypeSet.TryGetEntityType(new Coder("Edi", "InfoRule"), out infoRuleEntityType))
            {
                throw new GeneralException("意外的实体类型");
            }
            foreach (var filter in requestData.Filters)
            {
                PropertyState property;
                if (!infoRuleEntityType.TryGetProperty(filter.field, out property))
                {
                    throw new ValidationException("意外的AppSystem实体类型属性" + filter.field);
                }
            }
            int pageIndex = requestData.PageIndex;
            int pageSize  = requestData.PageSize;
            var queryable = AcDomain.NodeHost.InfoRules.Select(a => InfoRuleTr.Create(AcDomain, a)).AsQueryable();

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

            return(this.JsonResult(new MiniGrid <InfoRuleTr> {
                total = requestData.Total.Value, data = data
            }));
        }
        public ActionResult GetPlistInfoRules(GetPlistInfoRules requestData)
        {
            if (!ModelState.IsValid)
            {
                return ModelState.ToJsonResult();
            }
            EntityTypeState infoRuleEntityType;
            if (!AcDomain.EntityTypeSet.TryGetEntityType(new Coder("Edi", "InfoRule"), out infoRuleEntityType))
            {
                throw new AnycmdException("意外的实体类型");
            }
            foreach (var filter in requestData.Filters)
            {
                PropertyState property;
                if (!infoRuleEntityType.TryGetProperty(filter.field, out property))
                {
                    throw new ValidationException("意外的AppSystem实体类型属性" + filter.field);
                }
            }
            int pageIndex = requestData.PageIndex;
            int pageSize = requestData.PageSize;
            var queryable = AcDomain.NodeHost.InfoRules.Select(a => InfoRuleTr.Create(AcDomain, a)).AsQueryable();
            foreach (var filter in requestData.Filters)
            {
                queryable = queryable.Where(filter.ToPredicate(), filter.value);
            }
            requestData.Total = queryable.Count();
            var data = queryable.OrderBy(requestData.SortField + " " + requestData.SortOrder).Skip(pageIndex * pageSize).Take(pageSize);

            return this.JsonResult(new MiniGrid<InfoRuleTr> { total = requestData.Total.Value, data = data });
        }