Ejemplo n.º 1
0
        public IActionResult EditOrder(EditOrderBooksUserViewModels model)
        {
            if (model == null)
            {
                ViewBag.ErrorMessage = $"Something has gone wrong.";
                return(View("NotFound"));
            }
            BooksDisplayed books = _bookStore.GetSpecificBook(model.BookId);

            if (books == null)
            {
                ViewBag.ErrorMessage = $"Something has gone wrong.";
                return(View("NotFound"));
            }

            UserWithBooksDB userBooks = _bookStore.GetUserBookId(model.UserBooksId);

            if (userBooks == null)
            {
                ViewBag.ErrorMessage = $"Something has gone wrong.";
                return(View("NotFound"));
            }

            if (userBooks.NrBooksOrdered < model.NrBooksOrdered)
            {
                var x = model.NrBooksOrdered - userBooks.NrBooksOrdered;
                books.StockOfBooks        = books.StockOfBooks - x;
                userBooks.NrBooksOrdered  = model.NrBooksOrdered;
                userBooks.TotalPriceBooks = model.NrBooksOrdered * books.Price;
                _bookStore.UpdateBook(books);
                _bookStore.UpdateUserBook(userBooks);
            }
            else
            {
                books.StockOfBooks        = userBooks.NrBooksOrdered - model.NrBooksOrdered;
                userBooks.NrBooksOrdered  = model.NrBooksOrdered;
                userBooks.TotalPriceBooks = model.NrBooksOrdered * books.Price;
                _bookStore.UpdateBook(books);
                _bookStore.UpdateUserBook(userBooks);
            }
            return(RedirectToAction("OrderBooks", "Home", new { id = userBooks.UserId }));
        }
Ejemplo n.º 2
0
 public IActionResult DeleteBookOrdered(string id)
 {
     if (signInManager.IsSignedIn(User))
     {
         //Get the book from the database
         UserWithBooksDB userBook = _bookStore.GetUserBookId(id);
         //Check for the book
         if (userBook == null)
         {
             ViewBag.ErrorMessage = $"User Book with the respective ID:{id} cannot be found.";
             return(View("NotFound"));
         }
         BooksDisplayed bookUpdate = _bookStore.GetSpecificBook(userBook.BookId);
         bookUpdate.StockOfBooks = bookUpdate.StockOfBooks + userBook.NrBooksOrdered;
         _bookStore.UpdateBook(bookUpdate);
         _bookStore.DeleteUserBookOrder(id);
         return(RedirectToAction("OrderBooks", "Home", new { id = userBook.UserId }));
     }
     return(RedirectToAction("Index", "Home"));
 }
Ejemplo n.º 3
0
        public IActionResult EditOrder(string id)
        {
            if (id == null)
            {
                ViewBag.ErrorMessage = $"Book with the respective ID:{id} cannot be found.";
                return(View("NotFound"));
            }
            UserWithBooksDB editOrder = _bookStore.GetUserBookId(id);

            EditOrderBooksUserViewModels model = new EditOrderBooksUserViewModels()
            {
                UserBooksId    = editOrder.UserBooksId,
                BookId         = editOrder.BookId,
                UserId         = editOrder.UserId,
                NrBooksOrdered = editOrder.NrBooksOrdered,
                BookToBuy      = editOrder.BookToBuy
            };

            return(View(model));
        }
Ejemplo n.º 4
0
        public IActionResult AddBookInBag(BookToBuyViewModels model)
        {
            //Get the book from database
            BooksDisplayed book = _bookStore.GetSpecificBook(model.BookId);

            //check if the book is null
            if (book == null)
            {
                ViewBag.ErrorMessage = $"Book with the respective ID:{model.BookId} cannot be found.";
                return(View("NotFound"));
            }

            if (ModelState.IsValid)
            {
                UserWithBooksDB userBooks = new UserWithBooksDB()
                {
                    UserId          = model.UserId,
                    BookId          = model.BookId,
                    BookToBuy       = model.BooksToBuy,
                    NrBooksOrdered  = model.BooksOrdered,
                    TotalPriceBooks = model.BooksOrdered * model.Price
                };
                if (model.BooksOrdered < book.StockOfBooks)
                {
                    book.StockOfBooks = book.StockOfBooks - model.BooksOrdered;
                    _bookStore.UpdateBook(book);
                    _bookStore.AddBookToUser(userBooks);
                    return(RedirectToAction("DisplayBooks", "Home"));
                }
                else
                {
                    return(View(model));
                }
            }
            return(View(model));
        }