public decimal TotalValue(ProductSearchFilter filters) { setZero(filters); if (!string.IsNullOrWhiteSpace(filters.searchString)) { var result = _context.products.Where(x => x.ProductName.Contains(filters.searchString) & x.Quantity >= filters.minQuantity & x.Quantity <= filters.maxQuantity & x.TotalValue >= filters.minTotalValue & x.TotalValue <= filters.maxTotalValue); if (result.Count() > 0) { return(result.Sum(x => x.TotalValue)); } else { return(0); } } var result1 = _context.products.Where(x => x.Quantity >= filters.minQuantity & x.Quantity <= filters.maxQuantity & x.TotalValue >= filters.minTotalValue & x.TotalValue <= filters.maxTotalValue); if (result1.Count() > 0) { return(result1.Sum(x => x.TotalValue)); } else { return(0); } }
public int totalProducts(ProductSearchFilter filters) { setZero(filters); if (!string.IsNullOrWhiteSpace(filters.searchString)) { return(_context.products.Where(x => x.ProductName.Contains(filters.searchString) & x.Quantity >= filters.minQuantity & x.Quantity <= filters.maxQuantity & x.TotalValue >= filters.minTotalValue & x.TotalValue <= filters.maxTotalValue) .Count()); } return(_context.products.Where(x => x.Quantity >= filters.minQuantity & x.Quantity <= filters.maxQuantity & x.TotalValue >= filters.minTotalValue & x.TotalValue <= filters.maxTotalValue) .Count()); }
public List <Product> GetAllProducts(int PageNumber, int ItemsPerPage, ProductSearchFilter filters) { setZero(filters); int skip = (PageNumber - 1) * ItemsPerPage; if (!string.IsNullOrWhiteSpace(filters.searchString)) { var result = _context.products.Where(x => x.ProductName.Contains(filters.searchString) & x.Quantity >= filters.minQuantity & x.Quantity <= filters.maxQuantity & x.TotalValue >= filters.minTotalValue & x.TotalValue <= filters.maxTotalValue) .OrderBy(x => x.ProductName).Skip(skip).Take(ItemsPerPage).ToList(); return(result); } return(_context.products.Where(x => x.Quantity >= filters.minQuantity & x.Quantity <= filters.maxQuantity & x.TotalValue >= filters.minTotalValue & x.TotalValue <= filters.maxTotalValue) .OrderBy(x => x.ProductName).Skip(skip).Take(ItemsPerPage).ToList()); }
public List <Product> GetFilteredProduct(ProductSearchFilter filters, int PageNumber, int ItemsPerPage) { int skip = (PageNumber - 1) * ItemsPerPage; if (!string.IsNullOrWhiteSpace(filters.searchString)) { if (filters.maxPrice > 0 & filters.maxQuantity > 0 & filters.maxTotalValue > 0) { return(_context.products.Where(x => x.ProductName.Contains(filters.searchString) & x.Quantity >= filters.minQuantity & x.Quantity <= filters.maxQuantity & x.TotalValue >= filters.minTotalValue & x.TotalValue <= filters.maxTotalValue) .OrderBy(x => x.ProductName).Skip(skip).Take(ItemsPerPage).ToList()); } return(null); } return(_context.products.Where(x => x.Quantity >= filters.minQuantity & x.Quantity <= filters.maxQuantity & x.TotalValue >= filters.minTotalValue & x.TotalValue <= filters.maxTotalValue) .OrderBy(x => x.ProductName).Skip(skip).Take(ItemsPerPage).ToList()); }
private void setZero(ProductSearchFilter f) { f.maxPrice = f.maxPrice == 0 ? decimal.MaxValue : f.maxPrice; f.maxQuantity = f.maxQuantity == 0 ? int.MaxValue : f.maxQuantity; f.maxTotalValue = f.maxTotalValue == 0 ? decimal.MaxValue : f.maxTotalValue; }