Esempio n. 1
0
        public async Task <IActionResult> Create([Bind("StorageId,ProductId,Count")] ProductsInStock productsInStock)
        {
            if (ModelState.IsValid)
            {
                _context.Add(productsInStock);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }

            ViewData["ProductId"] = new SelectList(
                _context.Products,
                "ProductId",
                "ProductName",
                productsInStock.ProductId
                );

            ViewData["StorageId"] = new SelectList(
                _context.Storages,
                "StorageId",
                "StorageName",
                productsInStock.StorageId
                );

            return(View(productsInStock));
        }
        public ActionResult <List <ProductsInStock> > GetProdctsInStock()
        {
            List <ProductsInStock> productsInStocks = new List <ProductsInStock>();
            var products = _context.products.ToList();

            foreach (ProductTE prod in products)
            {
                ProductsInStock productsInStock = new ProductsInStock();
                productsInStock.Id           = prod.Id;
                productsInStock.ProductName  = prod.ProductName;
                productsInStock.ProductImage = prod.ImagePath;
                var stockBySize = _context.stocks.Where(x => x.ProductId == prod.Id).ToList();
                if (stockBySize.Count > 0)
                {
                    List <StockTE> stockTEs = new List <StockTE>();

                    foreach (StockTE stock in stockBySize)
                    {
                        StockTE stockTE = new StockTE();
                        stockTE.Id        = stock.Id;
                        stockTE.Quantity  = stock.Quantity;
                        stockTE.Size      = stock.Size;
                        stockTE.Cost      = stock.Cost;
                        stockTE.ProductId = stock.ProductId;

                        stockTEs.Add(stockTE);
                    }

                    productsInStock.listOfstocksBySize = stockTEs;
                    productsInStocks.Add(productsInStock);
                }
            }

            return(Ok(productsInStocks));
        }
Esempio n. 3
0
 public void RemoveStock(List <ProductStock> reqToBook)
 {
     foreach (var it in reqToBook)
     {
         var productStock = ProductsInStock.FirstOrDefault(x => x.Product.Id == it.Product.Id);
         if (productStock.Quantity - it.Quantity < 0)
         {
             throw new ShoppingCartProcessingException(" productStock.Quantity will be negative ");
         }
         productStock.Quantity = productStock.Quantity - it.Quantity;
     }
 }
Esempio n. 4
0
        public IEnumerable <ProductStock> GetProductByName(string textIncludedInName, bool bringProductsInStockOutOfStock)
        {
            IEnumerable <ProductStock> result = null;

            if (bringProductsInStockOutOfStock)
            {
                result = ProductsInStock;
            }
            else
            {
                result = ProductsInStock
                         .Where(z => z.Quantity > 0 ||
                                (bringProductsInStockOutOfStock))
                         .ToList();
            }

            if (string.IsNullOrWhiteSpace(textIncludedInName))
            {
                return(result);
            }
            textIncludedInName = textIncludedInName.Trim();
            return(result.Where(x => x.Product.Name.Contains(textIncludedInName)));
        }
Esempio n. 5
0
        public async Task <IActionResult> Edit(int?productId, int?storageId, [Bind("StorageId,ProductId,Count")] ProductsInStock productsInStock)
        {
            if (storageId != productsInStock.StorageId && productId != productsInStock.ProductId)
            {
                return(NotFound());
            }
            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(productsInStock);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    return(!ProductsInStockExists(productsInStock.StorageId)
                        ? (IActionResult)NotFound()
                        : RedirectToAction(nameof(Index)));
                }

                return(RedirectToAction(nameof(Index)));
            }

            ViewData["ProductId"] = new SelectList(
                _context.Products,
                "ProductId",
                "ProductName",
                productsInStock.ProductId);

            ViewData["StorageId"] = new SelectList(
                _context.Storages,
                "StorageId",
                "StorageName",
                productsInStock.StorageId);

            return(View(productsInStock));
        }
Esempio n. 6
0
 public IList <ProductStock> GetStockOfProducts(List <int> listIdsOfProducts)
 {
     return(ProductsInStock.Where(x => listIdsOfProducts.Contains(x.Product.Id)).ToList());
 }