using SqlSugar; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using wms.sqlsugar.model.sx; using WMS.BZModels.Dto.SX.BillPboxruleDtos; using WMS.BZModels; using WMS.BZSqlSugar; using WMS.Info; using WMS.BZModels.Dto.SX.BillSkuinfoDtos; using WMS.Util; namespace WMS.BZServices.SX { public class BillSkuinfoService { private readonly Repository _billSkuinfoRepository; public BillSkuinfoService(Repository billSkuinfoRepository) { _billSkuinfoRepository = billSkuinfoRepository; } public PagedInfo GetPageList(Pagination pagination, BillSkuinfoQueryDto billPBoxruleQueryDto) { var predicate = Expressionable.Create(); predicate = predicate.AndIF(!string.IsNullOrEmpty(billPBoxruleQueryDto?.TypeCode), m => m.TypeCode.Contains(billPBoxruleQueryDto.TypeCode)); predicate = predicate.AndIF(!string.IsNullOrEmpty(billPBoxruleQueryDto?.KeyWord), m => m.TypeCode.Contains(billPBoxruleQueryDto.KeyWord) || m.SkuCode.Contains(billPBoxruleQueryDto.KeyWord) || m.TypeName.Contains(billPBoxruleQueryDto.KeyWord)); predicate = predicate.AndIF(!string.IsNullOrEmpty(billPBoxruleQueryDto?.TypeName), m => m.TypeName.Contains(billPBoxruleQueryDto.TypeName)); predicate = predicate.AndIF(!string.IsNullOrEmpty(billPBoxruleQueryDto?.SkuCode), m => m.SkuCode.Contains(billPBoxruleQueryDto.SkuCode)); var list = _billSkuinfoRepository.Queryable().Where(predicate.ToExpression()).ToPage(pagination); return list; } } }