Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
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());
 }
Exemplo n.º 3
0
        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());
        }
Exemplo n.º 4
0
        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());
        }
Exemplo n.º 5
0
 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;
 }