public IActionResult Create(ProcurementDetail pd) { if (pd.Quantity == 0) { return(RedirectToAction("EditOrder", "Procurements", new { id = pd.Procurement.ProcurementID })); } else { Book bo = _context.Books.FirstOrDefault(b => b.BookID == pd.Book.BookID); pd.Book = bo; Procurement pro = _context.Procurements.Find(pd.Procurement.ProcurementID); pd.Procurement = pro; bo.Cost = pd.BookPrice; _context.Books.Update(bo); _context.SaveChanges(); pd.ExtendedPrice = pd.Quantity * pd.BookPrice; if (ModelState.IsValid) { _context.ProcurementDetails.Add(pd); _context.SaveChanges(); return(RedirectToAction("EditOrder", "Procurements", new { id = pd.Procurement.ProcurementID })); } return(View(pd)); } }
public IActionResult Edit(ProcurementDetail pd) { if (ModelState.IsValid) { //Find the related registration detail in the database ProcurementDetail DbProDet = _context.ProcurementDetails .Include(r => r.Book) .Include(r => r.Procurement) .FirstOrDefault(r => r.ProcurementDetailID == pd.ProcurementDetailID); //update the related fields DbProDet.Quantity = pd.Quantity; DbProDet.BookPrice = pd.BookPrice; DbProDet.ExtendedPrice = DbProDet.BookPrice * DbProDet.Quantity; Book DbBo = _context.Books.FirstOrDefault(b => b.BookID == DbProDet.Book.BookID); DbBo.Cost = pd.BookPrice; _context.Books.Update(DbBo); _context.SaveChanges(); _context.ProcurementDetails.Update(DbProDet); _context.SaveChanges(); //return to the order details return(RedirectToAction("EditOrder", "Procurements", new { id = DbProDet.Procurement.ProcurementID })); } return(View(pd)); }
// GET: Orders/Create public ActionResult Create(int?id) { if (id == null) { return(View("Error", new string[] { "You must specify an order to add!" })); } List <ProcurementDetail> AllProcurementDetails = new List <ProcurementDetail>(); var query2 = from e in _context.ProcurementDetails select e; query2 = query2.Include(o => o.Book).Include(o => o.Procurement).Where(o => o.Procurement.Completed == false && o.Procurement.ProcurementType == ProcurementType.Manual && o.Book.BookID == id); AllProcurementDetails = query2.ToList(); if (AllProcurementDetails.Any()) { return(View("Error", new string[] { "You already have this book in your reorder cart!" })); } Procurement pro = _context.Procurements.OrderByDescending(p => p.ProcurementID) .FirstOrDefault(p => p.Completed == false); Book bo = _context.Books.FirstOrDefault(b => b.BookID == id); if (pro == null) { return(View("Error", new string[] { "Order not found!" })); } ProcurementDetail pd = new ProcurementDetail() { Procurement = pro, Book = bo, BookPrice = bo.Cost }; return(View("Create", pd)); }
// GET: OrderDetails/Edit/5 public IActionResult Edit(int?id) { if (id == null) { return(NotFound()); } ProcurementDetail pd = _context.ProcurementDetails.Include(p => p.Book).FirstOrDefault(p => p.ProcurementDetailID == id); if (pd == null) { return(NotFound()); } return(View(pd)); }
public async Task <IActionResult> Create(Procurement procurement, ProcurementType SelectedType) { procurement.ProcurementDate = System.DateTime.Today; procurement.Completed = false; if (SelectedType == ProcurementType.Manual) { procurement.ProcurementType = ProcurementType.Manual; } else { procurement.ProcurementType = ProcurementType.Automatic; } if (procurement.ProcurementType == ProcurementType.Manual) { if (ModelState.IsValid) { Procurement alreadyexist = _context.Procurements.Where(p => p.ProcurementType == ProcurementType.Manual).FirstOrDefault(p => p.Completed == false); if (alreadyexist == null) { _context.Add(procurement); await _context.SaveChangesAsync(); return(RedirectToAction("EditOrder", new { id = procurement.ProcurementID })); } else { ViewBag.ExistingOrder = "This is your existing order."; return(RedirectToAction("EditOrder", new { id = alreadyexist.ProcurementID })); } } } if (procurement.ProcurementType == ProcurementType.Automatic) { List <Book> books = new List <Book>(); books = _context.Books.Include(b => b.ProcurementDetails).Where(b => b.Inventory < b.Reorder).ToList(); if (books.Count == 0) { return(View("Error", new string[] { "There are currently no books below reorder point." })); } else { if (ModelState.IsValid) { _context.Add(procurement); await _context.SaveChangesAsync(); foreach (Book b in books) { ProcurementDetail procurementDetail = new ProcurementDetail(); procurementDetail.Quantity = 5; procurementDetail.BookPrice = b.Cost; procurementDetail.ExtendedPrice = procurementDetail.Quantity * procurementDetail.BookPrice; procurementDetail.Book = _context.Books.FirstOrDefault(o => o.BookID == b.BookID); procurementDetail.Procurement = _context.Procurements.FirstOrDefault(p => p.ProcurementID == procurement.ProcurementID); _context.Add(procurementDetail); await _context.SaveChangesAsync(); } return(RedirectToAction("EditOrder", new { id = procurement.ProcurementID })); } } } return(View("Create")); }