public ActionResult GetPlistProperties(GetPlistProperties requestModel) { if (!ModelState.IsValid) { return(ModelState.ToJsonResult()); } var data = AcDomain.GetPlistProperties(requestModel); Debug.Assert(requestModel.Total != null, "requestModel.total != null"); return(this.JsonResult(new MiniGrid <PropertyTr> { total = requestModel.Total.Value, data = data })); }
public static IQueryable<PropertyTr> GetPlistProperties(this IAcDomain acDomain, GetPlistProperties requestModel) { if (!requestModel.EntityTypeId.HasValue) { throw new ValidationException("entityTypeID是必须的"); } EntityTypeState entityType = acDomain.GetEntityType(new Coder("Ac", "Property")); foreach (var filter in requestModel.Filters) { PropertyState property; if (!acDomain.EntityTypeSet.TryGetProperty(entityType, filter.field, out property)) { throw new ValidationException("意外的Property实体类型属性" + filter.field); } } if (!acDomain.EntityTypeSet.TryGetEntityType(requestModel.EntityTypeId.Value, out entityType)) { throw new AnycmdException("意外的实体类型标识" + requestModel.EntityTypeId.Value); } int pageIndex = requestModel.PageIndex; int pageSize = requestModel.PageSize; var queryable = acDomain.EntityTypeSet.GetProperties(entityType).Select(a => PropertyTr.Create(a.Value)).AsQueryable(); foreach (var filter in requestModel.Filters) { queryable = queryable.Where(filter.ToPredicate(), filter.value); } if (!string.IsNullOrEmpty(requestModel.Key)) { queryable = queryable.Where(a => a.Code.ToLower().Contains(requestModel.Key) || a.Name.ToLower().Contains(requestModel.Key)); } requestModel.Total = queryable.Count(); return queryable.OrderBy(requestModel.SortField + " " + requestModel.SortOrder).Skip(pageIndex * pageSize).Take(pageSize); }
public static IQueryable <PropertyTr> GetPlistProperties(this IAcDomain acDomain, GetPlistProperties requestModel) { if (!requestModel.EntityTypeId.HasValue) { throw new ValidationException("entityTypeID是必须的"); } EntityTypeState entityType = acDomain.GetEntityType(new Coder("Ac", "Property")); foreach (var filter in requestModel.Filters) { PropertyState property; if (!acDomain.EntityTypeSet.TryGetProperty(entityType, filter.field, out property)) { throw new ValidationException("意外的Property实体类型属性" + filter.field); } } if (!acDomain.EntityTypeSet.TryGetEntityType(requestModel.EntityTypeId.Value, out entityType)) { throw new GeneralException("意外的实体类型标识" + requestModel.EntityTypeId.Value); } int pageIndex = requestModel.PageIndex; int pageSize = requestModel.PageSize; var queryable = acDomain.EntityTypeSet.GetProperties(entityType).Select(a => PropertyTr.Create(a.Value)).AsQueryable(); foreach (var filter in requestModel.Filters) { queryable = queryable.Where(filter.ToPredicate(), filter.value); } if (!string.IsNullOrEmpty(requestModel.Key)) { queryable = queryable.Where(a => a.Code.ToLower().Contains(requestModel.Key) || a.Name.ToLower().Contains(requestModel.Key)); } requestModel.Total = queryable.Count(); return(queryable.OrderBy(requestModel.SortField + " " + requestModel.SortOrder).Skip(pageIndex * pageSize).Take(pageSize)); }
public ActionResult GetPlistProperties(GetPlistProperties requestModel) { if (!ModelState.IsValid) { return ModelState.ToJsonResult(); } var data = AcDomain.GetPlistProperties(requestModel); Debug.Assert(requestModel.Total != null, "requestModel.total != null"); return this.JsonResult(new MiniGrid<PropertyTr> { total = requestModel.Total.Value, data = data }); }