/** * Saves Item into the cart. - DynamoDB. * * @param form */ public void saveCartItem(AddToCartForm form) { DynamoDBMapper mapper = this.conn.getMapper(); CartItem item = new CartItem(); item.setCartId(UUID.randomUUID().getLeastSignificantBits()); item.setProductId(form.getProductId()); item.setQuantity(form.getQuantity()); item.setUserId(form.getUserId()); item.setIsOrdered(form.getIsOrdered()); mapper.save(item); }
public void addItem(Item item, boolean isInStock) { CartItem cartItem = (CartItem) itemMap.get(item.getItemId()); if (cartItem == null) { cartItem = new CartItem(); cartItem.setItem(item); cartItem.setQuantity(0); cartItem.setInStock(isInStock); itemMap.put(item.getItemId(), cartItem); itemList.add(cartItem); } }
public void addCartItem(CartItem cartItem) { String productId = cartItem.getProduct().getProductId(); if (cartItems.containsKey(productId)) { CartItem existingCartItem = cartItems.get(productId); existingCartItem.setQuantity(existingCartItem.getQuantity() + cartItem.getQuantity()); cartItems.put(productId, existingCartItem); } else { cartItems.put(productId, cartItem); } updateGrandTotal(); }
// returns list of items ordered so far by the user public CartItem decreaseQuantity(Long cartId) { DynamoDBMapper mapper = this.conn.getMapper(); DynamoDBScanExpression scanExpression = new DynamoDBScanExpression(); Map<String, Condition> scanFilter = new HashMap<String, Condition>(); Condition scanCondition = new Condition() .withComparisonOperator(ComparisonOperator.EQ.toString()) .withAttributeValueList(new AttributeValue().withN(cartId.toString())); scanFilter.put("CartId", scanCondition); scanExpression.setScanFilter(scanFilter); PaginatedScanList<CartItem> items = mapper.scan(CartItem.class, scanExpression); CartItem item = items.get(0); item.setQuantity(item.getQuantity() - 1); mapper.save(item); return item; }
public void setQuantityByItemId(String itemId, int quantity) { CartItem cartItem = (CartItem) itemMap.get(itemId); cartItem.setQuantity(quantity); }