public async Task <IActionResult> Edit(long id, [Bind("ID,NumberBill,Date,Subtotal,Iva,Total,SupplierID")] BillPurchase billPurchase) { if (id != billPurchase.ID) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(billPurchase); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!BillPurchaseExists(billPurchase.ID)) { return(NotFound()); } else { throw; } } return(RedirectToAction("Index")); } ViewData["SupplierID"] = new SelectList(_context.Supplier, "ID", "ID", billPurchase.SupplierID); return(View(billPurchase)); }
public async Task <IActionResult> Create([Bind("NumberBill,Date,Subtotal,Iva,Total,SupplierID")] BillPurchase billPurchase) { if (ModelState.IsValid) { _context.Add(billPurchase); await _context.SaveChangesAsync(); //Save Detail var rows = Request.Form["list_detalle"].ToString().Split(',').ToList(); foreach (string number in rows) { var idProduct = Convert.ToInt64(Request.Form["id" + number].ToString()); var product = _context.Product.Where(p => p.ID == idProduct).SingleOrDefault(); product.Stock = product.Stock + Convert.ToInt32(Request.Form["ca" + number].ToString()); _context.Product.Update(product); _context.SaveChanges(); //Next Feature: Add description //Save DetailMovement Table var objectDetailMovement = new DetailMovement(); objectDetailMovement.ProductID = product.ID; objectDetailMovement.Type = 0; // entry product objectDetailMovement.Amount = Convert.ToInt32(Request.Form["ca" + number].ToString()); objectDetailMovement.UnitPrice = Convert.ToDecimal(Request.Form["pu" + number].ToString().Replace(".", ",")); objectDetailMovement.Stock = product.Stock; _context.DetailMovement.Add(objectDetailMovement); _context.SaveChanges(); //Fixme: Update Cost Price if (objectDetailMovement.UnitPrice > product.CostPrice) { product.CostPrice = objectDetailMovement.UnitPrice; _context.Product.Update(product); _context.SaveChanges(); } //Save DetailBillPurchase var objectDetailBillPurchase = new DetailBillPurchase(); objectDetailBillPurchase.BillPurchaseID = billPurchase.ID; objectDetailBillPurchase.DetailMovementID = objectDetailMovement.ID; _context.DetailBillPurchase.Add(objectDetailBillPurchase); _context.SaveChanges(); System.Diagnostics.Debug.WriteLine("IDDetailMovement: ", objectDetailMovement.ID); //System.Diagnostics.Debug.WriteLine("Nombre: "+Request.Form["no"+number].ToString()); } //System.Diagnostics.Debug.WriteLine("REQUEST: " + rows.Count); return(RedirectToAction("Index")); } ViewData["SupplierID"] = new SelectList(_context.Supplier, "ID", "ID", billPurchase.SupplierID); return(View(billPurchase)); }