1414use BitBag \SyliusProductBundlePlugin \Entity \ProductBundleInterface ;
1515use BitBag \SyliusProductBundlePlugin \Factory \OrderItemFactoryInterface ;
1616use BitBag \SyliusProductBundlePlugin \Factory \ProductBundleOrderItemFactoryInterface ;
17+ use Doctrine \Common \Collections \Collection ;
1718use Sylius \Component \Core \Model \ProductVariantInterface ;
1819use Sylius \Component \Order \Model \OrderInterface ;
1920use Sylius \Component \Order \Modifier \OrderItemQuantityModifierInterface ;
2324final class CartProcessor implements CartProcessorInterface
2425{
2526 public function __construct (
26- private OrderItemQuantityModifierInterface $ orderItemQuantityModifier ,
27- private ProductBundleOrderItemFactoryInterface $ productBundleOrderItemFactory ,
28- private OrderModifierInterface $ orderModifier ,
29- private OrderItemFactoryInterface $ cartItemFactory ,
27+ private readonly OrderItemQuantityModifierInterface $ orderItemQuantityModifier ,
28+ private readonly ProductBundleOrderItemFactoryInterface $ productBundleOrderItemFactory ,
29+ private readonly OrderModifierInterface $ orderModifier ,
30+ private readonly OrderItemFactoryInterface $ cartItemFactory ,
3031 ) {
3132 }
3233
3334 public function process (
3435 OrderInterface $ cart ,
3536 ProductBundleInterface $ productBundle ,
3637 int $ quantity ,
38+ Collection $ productBundleOrderItems ,
3739 ): void {
3840 Assert::greaterThan ($ quantity , 0 );
3941
@@ -47,8 +49,8 @@ public function process(
4749 $ cartItem = $ this ->cartItemFactory ->createWithVariant ($ productVariant );
4850 $ this ->orderItemQuantityModifier ->modify ($ cartItem , $ quantity );
4951
50- foreach ($ productBundle -> getProductBundleItems () as $ bundleItem ) {
51- $ productBundleOrderItem = $ this ->productBundleOrderItemFactory ->createFromProductBundleItem ( $ bundleItem );
52+ foreach ($ productBundleOrderItems as $ addBundleItemToCartCommand ) {
53+ $ productBundleOrderItem = $ this ->productBundleOrderItemFactory ->createFromAddProductBundleItemToCartCommand ( $ addBundleItemToCartCommand );
5254 $ cartItem ->addProductBundleOrderItem ($ productBundleOrderItem );
5355 }
5456
0 commit comments