public void decreaseItemQuantity(string id) { shoppingCartID = GetCartID(); var item = _cartItemRepository.GetById(id); if (item != null) { var cartItem = _cartItemRepository.Find(predicate: x => x.cartId == shoppingCartID && x.ItemdId == item.ItemdId).FirstOrDefault(); //var OrderItem = // _productOrderRepository.Find(predicate: x => x.cart_id == shoppingCartID && x.item_id == item.ItemdId).FirstOrDefault(); if (cartItem != null) { if (cartItem.quantity == 1) { _cartItemRepository.Delete(cartItem); } else { cartItem.quantity -= 1; _cartItemRepository.Update(model: cartItem); } // _productOrderRepository.Delete(model: OrderItem); } //dataContext.SaveChanges(); } }
public void WhenIDeleteACartItem_ThenItIsDeletedFromTheDatabase() { _cartItemRepository.Create(_cartItem1); CartItem retrievedCartItem = _cartItemRepository.GetCart(_cartItem1.Document.DocumentId, _cartItem1.CartId); _cartItemRepository.Delete(retrievedCartItem); CartItem deletedCartItem = _cartItemRepository.Entities.FirstOrDefault(c => c.Id == retrievedCartItem.Id); deletedCartItem.Should().BeNull(); }
public bool UpdateShoppingCart(CartItem cartItem, Guid userId) { ShoppingCart shoppingCart = GetShoppingCartByUserId(userId) ?? new ShoppingCart { UserId = userId }; var cartItemTemp = shoppingCart.CartItems.FirstOrDefault(x => x.SetId == cartItem.SetId); if (cartItemTemp != null && cartItemTemp.Id > 0) { if (cartItem.Quantity == 0) { shoppingCart.TotalQuantity -= cartItemTemp.Quantity; shoppingCart.Total -= cartItemTemp.Price; shoppingCart.Discount -= cartItemTemp.Discount; CartItemRepository.Delete(cartItemTemp); shoppingCart.CartItems.Remove(cartItemTemp); } else { shoppingCart.Total += (cartItem.Price - cartItemTemp.Price); shoppingCart.Discount += (cartItem.Discount - cartItemTemp.Discount); shoppingCart.TotalQuantity += (cartItem.Quantity - cartItemTemp.Quantity); cartItemTemp.Price = cartItem.Price; cartItemTemp.Quantity = cartItem.Quantity; cartItemTemp.Discount = cartItem.Discount; cartItemTemp.Timestamp = DateTime.Now; } } else { shoppingCart.CartItems.Add(cartItem); shoppingCart.Total += cartItem.Price; shoppingCart.Discount += cartItem.Discount; shoppingCart.TotalQuantity += cartItem.Quantity; } return(_shoppingCartRepository.InsertOrUpdate(shoppingCart) != null); }