public ActionResult DeleteConfirmed(int supplierId, int pieceId) { SupplierPiece supplierpiece = db.SupplierPieces.Where(sp => sp.pieceId == pieceId && sp.supplierId == supplierId).FirstOrDefault(); db.SupplierPieces.Remove(supplierpiece); db.SaveChanges(); //Find the piece var piece = db.Pieces.Find(supplierpiece.pieceId); //Obtain the average price var average = (decimal?)db.SupplierPieces.Where(sp => sp.pieceId == supplierpiece.pieceId && sp.supplierId != CarPartReconstructionId).Average(sp => (decimal?)sp.price); if (average != null) { //Verify if the difference between reference price and the average of the suppliers prices exceed the five percent var twoPercent = (decimal)(piece.piecePrice * 0.02m); if (Math.Abs((decimal)(piece.piecePrice - average)) > twoPercent) { var referencePrice = piece.piecePrice; piece.piecePrice = Math.Round((decimal)average, 2); return(RedirectToAction("UpdatePiecePrice", new { pieceId = piece.pieceId, supplierId = supplierpiece.supplierId, averagePrice = average })); } } return(RedirectToAction("Index", new { SupplierId = supplierpiece.supplierId })); }
// // GET: /SupplierPiece/Details/5 public ActionResult Details(int supplierId, int pieceId) { SupplierPiece supplierpiece = db.SupplierPieces.Where(sp => sp.pieceId == pieceId && sp.supplierId == supplierId).FirstOrDefault(); if (supplierpiece == null) { return(HttpNotFound()); } return(View(supplierpiece)); }
// // GET: /SupplierPiece/Create public ActionResult Create(int supplierId) { var model = new SupplierPiece() { supplierId = supplierId }; ViewBag.pieceId = new SelectList( db.Pieces.Where(pi => !db.SupplierPieces.Any(sp => sp.supplierId == supplierId && sp.pieceId == pi.pieceId)) , "pieceId", "pieceName"); ViewBag.supplierId = new SelectList( db.Suppliers.Where(su => su.supplierId == supplierId), "supplierId", "supplierName", supplierId); return(View(model)); }
// // GET: /SupplierPiece/Edit/5 public ActionResult Edit(int supplierId, int pieceId) { SupplierPiece supplierpiece = db.SupplierPieces.Where(sp => sp.pieceId == pieceId && sp.supplierId == supplierId).FirstOrDefault(); if (supplierpiece == null) { return(HttpNotFound()); } ViewBag.pieceId = new SelectList( db.Pieces.Where(pa => pa.pieceId == pieceId || !db.SupplierPieces.Any(sp => sp.supplierId == supplierpiece.supplierId && sp.pieceId == pa.pieceId)) , "pieceId", "pieceName", supplierpiece.pieceId); ViewBag.supplierId = new SelectList( db.Suppliers.Where(su => su.supplierId == supplierpiece.supplierId), "supplierId", "supplierName", supplierpiece.supplierId); return(View(supplierpiece)); }
public ActionResult Create(SupplierPiece supplierpiece) { if (ModelState.IsValid) { db.SupplierPieces.Add(supplierpiece); db.SaveChanges(); //Find the Piece var piece = db.Pieces.Find(supplierpiece.pieceId); //Obtain the average price var average = (decimal?)db.SupplierPieces.Where(sp => sp.pieceId == supplierpiece.pieceId && sp.supplierId != CarPartReconstructionId).Average(sp => (decimal?)sp.price); if (average != null) { //Verify if the difference between reference price and the average of the suppliers prices exceed the five percent var twoPercent = (decimal)(piece.piecePrice * 0.02m); if (Math.Abs((decimal)(piece.piecePrice - average)) > twoPercent) { var referencePrice = piece.piecePrice; piece.piecePrice = Math.Round((decimal)average, 2); return(RedirectToAction("UpdatePiecePrice", new { pieceId = piece.pieceId, supplierId = supplierpiece.supplierId, averagePrice = average })); } } return(RedirectToAction("Index", new { supplierId = supplierpiece.supplierId })); } ViewBag.pieceId = new SelectList( db.Pieces.Where(pa => !db.SupplierPieces.Any(sp => sp.supplierId == supplierpiece.supplierId && sp.pieceId == pa.pieceId)) , "pieceId", "pieceName", supplierpiece.pieceId); ViewBag.supplierId = new SelectList( db.Suppliers.Where(su => su.supplierId == supplierpiece.supplierId), "supplierId", "supplierName", supplierpiece.supplierId); return(View(supplierpiece)); }