Example #1
0
        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));
        }
Example #2
0
        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();
        }