public object Get(FindProducts request) { var query = documentSession.Query <Product_ByNameOrDescription.Result, Product_ByNameOrDescription>(); if (!string.IsNullOrWhiteSpace(request.Name)) { query = query.Search(c => c.Name, request.Name); } if (!string.IsNullOrWhiteSpace(request.Description)) { query = query.Search(c => c.Name, request.Description); } var products = query .OfType <Product>() .ToList(); var result = new List <ProductDto>(products.Count); result.AddRange( products.Select( product => new ProductDto().PopulateWith(product))); return(result); }
public object Get(FindProducts request) { var ret = products.AsQueryable(); if (request.Category != null) { ret = ret.Where(x => x.Category == request.Category); } if (request.PriceGreaterThan.HasValue) { ret = ret.Where(x => x.Price > request.PriceGreaterThan.Value); } return(ret); }
public object Get(FindProducts request) { var query = documentSession.Query<Product_ByNameOrDescription.Result, Product_ByNameOrDescription>(); if (!string.IsNullOrWhiteSpace(request.Name)) query = query.Search(c => c.Name, request.Name); if (!string.IsNullOrWhiteSpace(request.Description)) query = query.Search(c => c.Name, request.Description); var products = query .OfType<Product>() .ToList(); var result = new List<ProductDto>(products.Count); result.AddRange( products.Select( product => new ProductDto().PopulateWith(product))); return result; }
public async Task <IEnumerable <Service.Models.Product> > Handle(FindProducts request, CancellationToken cancellationToken) { var result = await _dbContext.Products.Include(p => p.Categories).ToListAsync(); return(_mapper.Map <IEnumerable <Service.Models.Product> >(result)); }