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"));
        }