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)); }
public async Task <List <SearchProductResModel> > SearchProduct([FromQuery] SearchProductReqModel model) { return(await _productService.SearchProductsAsync(model)); }