package org.dicadeveloper.weplantaforest.cart;
import java.util.ArrayList;
import java.util.List;
import org.dicadeveloper.weplantaforest.common.errorHandling.IpatException;
import org.dicadeveloper.weplantaforest.planting.plantbag.PlantBag;
import org.dicadeveloper.weplantaforest.support.PlantBagToCartConverter;
import org.dicadeveloper.weplantaforest.user.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
@Service
@RequiredArgsConstructor(onConstructor = @__(@Autowired) )
public class CartService {
private @NonNull PlantBagToCartConverter plantPageToCartConverter;
private @NonNull CartRepository _cartRepository;
public Long createCartAndSave(PlantBag plantBag, User buyer, CartState cartState) throws IpatException {
Cart cart = plantPageToCartConverter.convertPlantPageDataToCart(plantBag, buyer, cartState);
cart = _cartRepository.save(cart);
return cart.getId();
}
public List<Long> createCarts(PlantBag plantBag, User buyer, CartState cartState, int amountOfPlantBags) throws IpatException {
List<Long> cartIds = new ArrayList<>();
for (int i = 0; i < amountOfPlantBags; i++) {
long cartId = createCartAndSave(plantBag, buyer, cartState);
cartIds.add(cartId);
}
return cartIds;
}
}