public async Task <IActionResult> Edit(int id, Invoice invoice) { if (id != invoice.InvoiceNumber) { return(NotFound()); } if (ModelState.IsValid) { try { if (!_context.Invoices.Any(i => i.InvoiceNumber == invoice.InvoiceNumber)) { _context.Invoices.Add(invoice); _context.SaveChanges(); id = invoice.InvoiceNumber; foreach (ProductInvoice productInvoice in invoice.SelectedProducts) { productInvoice.InvoiceID = invoice.InvoiceNumber; } } var RemovedPositions = _context.ProductInvoice.Where(pi => pi.InvoiceID == id).ToList().Where(pi => !invoice.SelectedProducts.Any(sp => sp.InvoiceID == pi.InvoiceID && sp.ProductID == pi.ProductID)); foreach (ProductInvoice position in RemovedPositions) { _context.ProductInvoice.Remove(position); } foreach (ProductInvoice position in invoice.SelectedProducts) { ProductInvoice oldPosition = _context.ProductInvoice.Where(pi => pi.InvoiceID == position.InvoiceID && pi.ProductID == position.ProductID).SingleOrDefault(); if (oldPosition == null) { _context.ProductInvoice.Add(position); } else if (oldPosition.Quantity != position.Quantity) { oldPosition.Quantity = position.Quantity; } } await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!InvoiceExists(invoice.InvoiceNumber)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(invoice)); }
public async Task <IActionResult> Create([Bind("ProductID,Name,UnitsInStock,CategoryID,SupplierID")] Product product) { if (ModelState.IsValid) { _context.Add(product); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(product)); }
public async Task <IActionResult> Create([Bind("BankAccountNumber,CompanyID,CompanyName,Street,City,ZipCode")] Supplier supplier) { if (ModelState.IsValid) { _context.Add(supplier); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(supplier)); }
public async Task <IActionResult> Create([Bind("Discount,CompanyID,CompanyName,Street,City,ZipCode")] Customer customer) { if (ModelState.IsValid) { _context.Add(customer); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(customer)); }
public async Task <IActionResult> Create([Bind("CategoryID,Name")] Category category) { if (ModelState.IsValid) { _context.Add(category); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(category)); }
public async Task <IActionResult> Create([Bind("ProductID,InvoiceID,Quantity")] ProductInvoice productInvoice) { if (ModelState.IsValid) { _context.Add(productInvoice); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } ViewData["InvoiceID"] = new SelectList(_context.Invoices, "InvoiceNumber", "InvoiceNumber", productInvoice.InvoiceID); ViewData["ProductID"] = new SelectList(_context.Products, "ProductID", "Name", productInvoice.ProductID); return(View(productInvoice)); }