public ActionResult AddBookToCart(Cart cart, int id) { string url = this.Request.UrlReferrer.AbsolutePath; CartServic cartService = new CartServic(); var cartViewModel = cartService.GetCartViewModel(); if (cart.books.Count < 5) { if (cart.books.Find(b => b.Id == id) == null) { using (var dbContext = new MvclibraryEntities()) { var books = dbContext.Books.ToList(); var book = books.Where(b => b.Id == id).FirstOrDefault(); cart.books.Add(book); } } else { TempData["Message"] = "Podana książka znajduje się już w koszyku"; TempData["Status"] = "false"; } } else { TempData["Message"] = "Nie można przekroczyć 5 książek w koszyku"; TempData["Status"] = "false"; } cartViewModel.cart = cart; return(Redirect(url)); }
public ActionResult ClearCart(Cart cart) { string url = this.Request.UrlReferrer.AbsolutePath; CartServic cartService = new CartServic(); var cartViewModel = cartService.GetCartViewModel(); cart.books.Clear(); cartViewModel.cart = cart; return(Redirect(url)); }
public ActionResult LendBooks(Cart cart) { string url = this.Request.UrlReferrer.AbsolutePath; CartServic cartService = new CartServic(); var cartViewModel = cartService.GetCartViewModel(); var userEmail = User.Identity.Name; using (var dbContext = new MvclibraryEntities()) { var user = dbContext.User.Where(u => u.Email == userEmail).FirstOrDefault(); var lends = dbContext.Lend.ToList(); var userLends = lends.Where(l => l.UserId == user.Id && (l.State == "Odebrano" || l.State == "Na półce czytelnika")).ToList(); if (userLends.Count + cart.books.Count <= user.BorrowLimit) { foreach (var item in cart.books) { var lend = new Lend { BookId = item.Id, UserId = user.Id, DateBorrowed = DateTime.Now, State = "Na półce czytelnika", DateReturn = DateTime.Now.AddDays(14) }; item.Status = "Wypożyczona"; dbContext.Entry(item).State = EntityState.Modified; dbContext.Lend.Add(lend); } dbContext.SaveChanges(); TempData["Message"] = "Książki czekają na Twój odbiór"; TempData["Status"] = "true"; } else { TempData["Message"] = "Masz już wypożyczone " + userLends.Count + " ksiązki. Twój limit wynosi " + user.BorrowLimit; TempData["Status"] = "false"; } } cart.books.Clear(); cartViewModel.cart = cart; return(Redirect(url)); }
public ActionResult RemoveBook(Cart cart, int id) { string url = this.Request.UrlReferrer.AbsolutePath; CartServic cartService = new CartServic(); var cartViewModel = cartService.GetCartViewModel(); var book = cart.books.FirstOrDefault(b => b.Id == id); if (book != null) { cart.books.Remove(book); } cartViewModel.cart = cart; return(Redirect(url)); }