public async Task <IActionResult> Edit(int id, [Bind("Id,Quantity")] ProductInBranch productInBranch, int ProductId, int BranchId) { if (id != productInBranch.Id) { return(NotFound()); } if (ModelState.IsValid) { try { productInBranch.Product = _context.Product.First(u => u.Id == ProductId); productInBranch.Branch = _context.Branch.First(u => u.Id == BranchId); _context.Update(productInBranch); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ProductInBranchExists(productInBranch.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(productInBranch)); }
public async Task <IActionResult> Create([Bind("Id,Quantity")] ProductInBranch productInBranch, int ProductId, int BranchId) { if (ModelState.IsValid) { productInBranch.Product = _context.Product.First(u => u.Id == ProductId); productInBranch.Branch = _context.Branch.First(u => u.Id == BranchId); _context.Add(productInBranch); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(productInBranch)); }
private async void SubstractProducts(Order order) { foreach (ProductInOrder orderedProduct in order.ProductInOrders.ToList()) { ProductInBranch branchProduct = _context.ProductInBranch .Include(p => p.Branch) .Include(p => p.Product) .Where(productInBranch => productInBranch.Product.Id == orderedProduct.ProductId && productInBranch.Branch.Id == order.BranchId).FirstOrDefault(); branchProduct.Quantity -= orderedProduct.Quantity; } await _context.SaveChangesAsync(); }