public PageResult <OPC_ShippingSale> QueryShippingSales(ExpressRequestDto request, int shippingStatus, int uid) { using (var db = new YintaiHZhouContext()) { Expression <Func <OPC_ShippingSale, bool> > filterExpression = t => t.CreateDate >= request.StartDate && t.CreateDate < request.EndDate && t.ShippingStatus == shippingStatus; if (!string.IsNullOrEmpty(request.OrderNo)) { filterExpression = filterExpression.And(x => x.OrderNo == request.OrderNo); } IAuthUser user = new AuthUser(uid); if (!user.IsAdmin) { filterExpression = filterExpression.And(x => user.AuthenticatedStores().ToArray().Contains(x.StoreId.Value)); } int cnt = db.OPC_ShippingSales.Count(filterExpression); var list = db.OPC_ShippingSales.Where(filterExpression) .OrderBy(o => o.CreateDate) .Skip(request.PagerRequest.SkipCount) .Take(request.PagerRequest.PageSize) .ToList(); return(new PageResult <OPC_ShippingSale>(list, cnt)); } }