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)); }
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; } }
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))); }
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)); }
public IList <ProductStock> GetStockOfProducts(List <int> listIdsOfProducts) { return(ProductsInStock.Where(x => listIdsOfProducts.Contains(x.Product.Id)).ToList()); }