public bool PostBookToBasket(BookIdModel bookModel, int userId) { using (var db = new BookStoreContext()) { var basketExists = db.Baskets.Any(x => x.UserId == userId && x.IsPayed != true); if (!basketExists) { var newBasket = new Basket(); newBasket.UserId = userId; newBasket.IsPayed = false; db.Baskets.Add(newBasket); db.SaveChanges(); var newItem = new BasketItem(); newItem.BasketId = newBasket.Id; newItem.BookId = bookModel.BookId; newItem.Count = bookModel.Count; db.BasketItems.Add(newItem); db.SaveChanges(); } else { var basket = db.Baskets.FirstOrDefault(x => x.UserId == userId && x.IsPayed != true); var itemExists = db.BasketItems.Any(x => x.BookId == bookModel.BookId && x.BasketId == basket.Id); if (itemExists) { var item = db.BasketItems.FirstOrDefault(x => x.BookId == bookModel.BookId); item.Count += bookModel.Count; } else { var newItem = new BasketItem(); newItem.BasketId = basket.Id; newItem.BookId = bookModel.BookId; newItem.Count = bookModel.Count; db.BasketItems.Add(newItem); } db.SaveChanges(); } return(true); } }
public IHttpActionResult PostBasket(BookIdModel bookIdModel) { CurrentUser loginModel = GetCurrentUser(); return(Ok(PostBookToBasket(bookIdModel, loginModel.UserId))); }