package ik.am.jpetstore.app.cart;
import javax.inject.Inject;
import ik.am.jpetstore.domain.model.Cart;
import ik.am.jpetstore.domain.service.catalog.CatalogService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
@RequestMapping("cart")
public class CartController {
@Inject
protected CartHelper cartHelper;
@Inject
protected CatalogService catalogService;
@Inject
protected Cart cart;
@ModelAttribute
public CartForm setUpForm() {
return new CartForm();
}
@ModelAttribute
public Cart getCart() {
return cart;
}
@RequestMapping("viewCart")
public String viewCart() {
return "cart/Cart";
}
@RequestMapping("addItemToCart")
public String addItemToCart(
@RequestParam("workingItemId") String workingItemId) {
cartHelper.addItemToCart(workingItemId, cart);
return "redirect:/cart/viewCart";
}
@RequestMapping("updateCartQuantities")
public String updateCartQuantities(CartForm cartForm, Model model) {
cartHelper.updateCartQuantities(cartForm, cart);
return "redirect:/cart/viewCart";
}
@RequestMapping("removeItemFromCart")
public String removeItemFromCart(@RequestParam("cartItem") String cartItem) {
cart.removeItemById(cartItem);
return "redirect:/cart/viewCart";
}
@RequestMapping("checkOut")
public String checkOut() {
return "cart/Checkout";
}
}