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 }); }