public async Task <IActionResult> Edit(int id, [Bind("BookProcurementID,Subtotal,Total,Quantity,ProcurementDate,UserID")] BookProcurement bookProcurement) { if (id != bookProcurement.BookProcurementID) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(bookProcurement); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!BookProcurementExists(bookProcurement.BookProcurementID)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(bookProcurement)); }
// GET: BookProcurements/Create public IActionResult ManualReorder(int?id) { //check if bookid exists if (id == null) { return(View("Error", new string[] { "Book does not exist" })); } //Find the book Book book = _context.Books.Include(b => b.BookProcurements).FirstOrDefault(b => b.BookID == id); //store user's name string userName = User.Identity.Name; //find the user in the database AppUser user = _context.Users.FirstOrDefault(u => u.UserName == userName); List <BookProcurement> PrevOrders = book.BookProcurements.OrderByDescending(b => b.ProcurementDate).ToList(); Int32 LastOrderQuantity = 5; Decimal LastOrderPrice = 1.00m; if (PrevOrders.Count() > 0) { BookProcurement LastOrder = PrevOrders[0]; LastOrderQuantity = LastOrder.Quantity; LastOrderPrice = LastOrder.Price; } ViewBag.ProfitMargin = book.Price - book.Cost; BookProcurement bp = new BookProcurement() { Book = book, UserName = user.FirstName + " " + user.LastName, Quantity = LastOrderQuantity, Price = LastOrderPrice }; _context.BookProcurements.Add(bp); _context.SaveChanges(); //maybe create a viewbag getting the last price of that book's reorder - send it to view to show as default value // if(book.autoreorder == true){ // redirecttoaction("ManualReorder", bp) return(View(bp)); }
public IActionResult ManualReorder([Bind("BookProcurementID,Quantity,Price")] BookProcurement bp) { BookProcurement DbBP = _context.BookProcurements.Include(b => b.Book).FirstOrDefault(b => b.BookProcurementID == bp.BookProcurementID); //if (book.AutoReorder == false) DbBP.Quantity = bp.Quantity; DbBP.Total = bp.Quantity * bp.Price; DbBP.ProcurementDate = System.DateTime.Today; DbBP.Book.Cost = bp.Price; DbBP.Book.LastOrdered = System.DateTime.Today; DbBP.Book.CopiesOnHand += bp.Quantity; //if (book.AutoReoder == true){ //DbBP.Quantity = bp.Book.AutoReorderQuantity; //DbBP.Total = bp.Book.AutoReorderQuantity * bp.Book.AutoReorderPrice if (ModelState.IsValid) { _context.Update(DbBP); _context.SaveChanges(); return(RedirectToAction(nameof(Index))); } return(RedirectToAction("Index", "Home")); }