public IHttpActionResult PackageList(TaskWorkCondition condition) { condition.Status = TaskWorkStatus.Holding; condition.TypeCode = FlowCode.Reimage_Package; int totalSize; var data = TaskWork.Query(condition, out totalSize).ToList(); return(Ok(new { data, totalSize })); }
public static IQueryable <TaskWork> Query(TaskWorkCondition searchCondition, out int totalSize) { var predicate = PredicateBuilder.True <TaskWork>(); if (!string.IsNullOrEmpty(searchCondition.Title)) { predicate = predicate.And(e => e.Title.Contains(searchCondition.Title)); } if (!string.IsNullOrEmpty(searchCondition.StoreCode)) { predicate = predicate.And(e => e.StoreCode.Contains(searchCondition.StoreCode)); } if (!string.IsNullOrEmpty(searchCondition.StoreNameZHCN)) { var storeList = StoreBasicInfo.Search(e => e.NameZHCN.Contains(searchCondition.StoreNameZHCN)); var storeCodeList = storeList.Select(e => e.StoreCode).ToList(); predicate = predicate.And(e => storeCodeList.Contains(e.StoreCode)); } if (searchCondition.Status.HasValue) { predicate = predicate.And(e => e.Status == searchCondition.Status.Value); } if (!string.IsNullOrEmpty(searchCondition.TypeCode)) { //var employeeList = Employee.Search(e => e.NameZHCN.Contains(searchCondition.SenderZHCN)); //var employeeCodeList = employeeList.Select(e => e.Code).ToList(); predicate = predicate.And(e => e.TypeCode.Contains(searchCondition.TypeCode)); } if (!string.IsNullOrEmpty(searchCondition.ReceiverAccount)) { predicate = predicate.And(e => e.ReceiverAccount == searchCondition.ReceiverAccount); } //从多少页开始取数据 var list = Search(predicate, e => e.Num, searchCondition.PageIndex, searchCondition.PageSize, out totalSize, true); return(list); }