/**
  * 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);
 }
示例#2
0
 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);
   }
 }
示例#3
0
  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;
  }
示例#5
0
 public void setQuantityByItemId(String itemId, int quantity) {
   CartItem cartItem = (CartItem) itemMap.get(itemId);
   cartItem.setQuantity(quantity);
 }