コード例 #1
0
        public async Task <List <SearchProductResModel> > SearchProductsAsync(SearchProductReqModel model)
        {
            var query = _context.Products
                        .Include(p => p.Brand)
                        .Include(p => p.Category)
                        .Include(p => p.ProductImages)
                        .AsNoTracking();

            if (!string.IsNullOrEmpty(model.Name))
            {
                query = query.Where(p => p.Name.ToLower().Contains(model.Name.Trim().ToLower()));
            }

            if (model.BrandId.HasValue)
            {
                query = query.Where(p => p.BrandId == model.BrandId);
            }

            if (model.CategoryId.HasValue)
            {
                query = query.Where(p => p.CategoryId == model.CategoryId);
            }

            var products = await query.ToListAsync();

            return(_mapper.Map <List <Product>, List <SearchProductResModel> >(products));
        }
コード例 #2
0
 public async Task <List <SearchProductResModel> > SearchProduct([FromQuery] SearchProductReqModel model)
 {
     return(await _productService.SearchProductsAsync(model));
 }