package ik.am.jpetstore.app.order; import javax.inject.Inject; import ik.am.jpetstore.domain.model.Account; import ik.am.jpetstore.domain.model.Cart; import ik.am.jpetstore.domain.model.Order; import ik.am.jpetstore.domain.model.UserDetails; import ik.am.jpetstore.domain.service.order.OrderService; import org.dozer.Mapper; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.stereotype.Component; @Component public class OrderHelper { @Inject protected OrderService orderService; @Inject protected Mapper beanMapper; public Order newOrder(OrderForm orderForm, Cart cart) { UserDetails userDetails = (UserDetails) SecurityContextHolder .getContext().getAuthentication().getPrincipal(); Account account = userDetails.getAccount(); Order order = new Order(); order.initOrder(account, cart); beanMapper.map(orderForm, order); orderService.insertOrder(order); return order; } }