public Wishlists SaveActivities(List <WishlistViewModel> wishlist, Reservations reservation, Wishlists wishlistInSession) { Wishlists wislistToSave; //als de wishlist al een keer is opgehaald uit de db, update deze dan. if (wishlistInSession != null) { wislistToSave = wishlistInSession; wislistToSave.WishlistItems = null; ctx.SaveChanges(); } else { wislistToSave = new Wishlists(); } wislistToSave.paid = false; foreach (WishlistViewModel activity in wishlist) { WishlistItems wishitems = new WishlistItems(); //check of de activity daadwerkelijk in db staat Activities activiteit = activity.Activity; wishitems.activityId = activiteit.id; wishitems.numberOfPersons = activity.NumberOfPersons; wislistToSave.WishlistItems.Add(wishitems); //wislist.totalPrice = wislist.totalPrice + activiteit.price; } if (reservation != null) { wislistToSave.paid = true; wislistToSave.Reservations.Add(reservation); } wislistToSave.token = Crypto.HashPassword(Crypto.GenerateSalt() + DateTime.Now.Ticks.ToString()); wislistToSave.totalPrice = wishlist.Sum(w => w.totalprice); if (wishlistInSession == null) { ctx.Wishlists.Add(wislistToSave); } ctx.SaveChanges(); return(wislistToSave); }
public void ToggleWishlistItem(int userId, int bookId) { string wishlistId = GetWishlistId(userId); WishlistItems existingWishlistItem = _dbContext.WishlistItems.FirstOrDefault(x => x.ProductId == bookId && x.WishlistId == wishlistId); if (existingWishlistItem != null) { _dbContext.WishlistItems.Remove(existingWishlistItem); _dbContext.SaveChanges(); } else { WishlistItems wishlistItem = new WishlistItems { WishlistId = wishlistId, ProductId = bookId, }; _dbContext.WishlistItems.Add(wishlistItem); _dbContext.SaveChanges(); } }