/// <summary> /// 商品列表 /// </summary> /// <param name="search"></param> /// <returns></returns> public async Task <List <ProductDto> > GetListAsync(ProductSearchListDto search) { var whereCondition = ExpressionCreator .New <Product>() .AndIf(search.Ids.IsNotNullOrEmpty(), x => (search.Ids.Select(x => x).Distinct()).Contains(x.Id)) .AndIf(search.StatusCode > 0, x => (int)x.Status.Code == search.StatusCode); var products = await _productRepo.Where(whereCondition).ToListAsync(); var productsDto = Mapper.Map <List <ProductDto> >(products); return(productsDto); }
/// <summary> /// 商品列表 /// </summary> /// <param name="search"></param> /// <returns></returns> public async Task <List <ProductDto> > GetListAsync(ProductSearchListDto search) { Expression <Func <Product, bool> > whereCondition = x => true; if (!search.Ids.IsNullOrEmpty()) { var ids = search.Ids.Where(x => x.IsNullOrEmpty()).Select(x => x.ToLong().Value); whereCondition = whereCondition.And(x => ids.Contains(x.Id)); } var products = await _productRepo.Where(whereCondition).ToListAsync(); var productsDto = _mapper.Map <List <ProductDto> >(products); return(productsDto); }
/// <summary> /// 商品列表 /// </summary> /// <param name="search"></param> /// <returns></returns> public async Task <List <ProductDto> > GetListAsync(ProductSearchListDto search) { var whereCondition = ExpressionExtension.True <Product>(); if (!search.Ids.IsNullOrEmpty()) { var ids = search.Ids.Where(x => x.IsNotNullOrEmpty()).Select(x => x.ToLong().Value).Distinct(); whereCondition = whereCondition.And(x => ids.Contains(x.Id)); } if (search.StatusCode > 0) { whereCondition = whereCondition.And(x => (int)x.Status.Code == search.StatusCode); } var products = await _productRepo.Where(whereCondition).ToListAsync(); var productsDto = _mapper.Map <List <ProductDto> >(products); return(productsDto); }
public async Task <ActionResult <List <ProductDto> > > GetListAsync([FromQuery] ProductSearchListDto search) { return(await _productSrv.GetListAsync(search)); }