public async Task <dynamic> AdvancedSalesOrderSearchAsync(AdvancedSalesOrderSearchParam param) {//todo var result = (from salesOrder in context.Pomst where (param.fromDate == null || salesOrder.DatePo >= param.fromDate) && (param.toDate == null || salesOrder.DatePo <= param.toDate) && (param.userIds.Count() <= 0 || param.userIds.Contains(salesOrder.CreaPo)) && (param.orderTypes.Count() <= 0 || param.orderTypes.Contains(salesOrder.TypePo)) && (param.orderStatus.Count() <= 0 || param.orderStatus.Contains(salesOrder.StatPo)) && (param.orderId == "" || param.orderId == null || EF.Functions.Like(salesOrder.PonbPo, "%" + param.orderId + "%")) select new { commandeTypeId = salesOrder.TypePo, commandeTypeLabel = utils.GetCommandTypeLabelById(salesOrder.TypePo), commandeId = salesOrder.PonbPo, commandeCreateDate = salesOrder.DatePo, updateOn = salesOrder.LdatPo.ToString(), updateTime = salesOrder.LdatPo, receiver = salesOrder.TnamPo, status = this.utils.GetOrdersStatus(Int32.Parse(salesOrder.StatPo)), type = salesOrder.TcpyPo, // 单位 creator = context.User.Where(x => x.Id == salesOrder.CreaPo).Select(y => y.Name), commandeCreator = salesOrder.FnamPo }).OrderByDescending(p => p.updateTime); var formatedResult = new { data = await result.Skip(param.begin *param.step).Take(param.step).ToListAsync <dynamic>(), totalCount = await result.CountAsync() }; return(formatedResult); }
public async Task <JsonResult> AdvancedSalesOrderSearch([FromBody] AdvancedSalesOrderSearchParam param) { var result = new ApiResult() { Data = await _saleOrderRepository.AdvancedSalesOrderSearchAsync(param), Msg = "OK", Success = true }; return(Json(result)); }