public ApiListsController(WorkContext workContext, ICatalogSearchService catalogSearchService, ICartBuilder cartBuilder, IStorefrontUrlBuilder urlBuilder) : base(workContext, urlBuilder) { _wishlistBuilder = cartBuilder; _catalogSearchService = catalogSearchService; }
public CartService( ICartBuilder <Connect.Cart> cartBuilder, ICartManager cartManager, IInventoryManager inventoryManager, ICatalogContext catalogContext, ICatalogService catalogService, IStorefrontContext storefrontContext, IVisitorContext visitorContext) { Assert.ArgumentNotNull(cartBuilder, nameof(cartBuilder)); Assert.ArgumentNotNull(cartManager, nameof(cartManager)); Assert.ArgumentNotNull(inventoryManager, nameof(inventoryManager)); Assert.ArgumentNotNull(catalogContext, nameof(catalogContext)); Assert.ArgumentNotNull(catalogService, nameof(catalogService)); Assert.ArgumentNotNull(storefrontContext, nameof(storefrontContext)); Assert.ArgumentNotNull(visitorContext, nameof(visitorContext)); this.cartBuilder = cartBuilder; this.cartManager = cartManager; this.inventoryManager = inventoryManager; this.catalogContext = catalogContext; this.catalogService = catalogService; this.storefrontContext = storefrontContext; this.visitorContext = visitorContext; }
private async Task <OrderCreatedInfo> CreateOrderFromCartAsync(ICartBuilder cartBuilder, BankCardInfo bankCardInfo, bool removeCart) { var orderDto = await _orderApi.CreateOrderFromCartAsync(cartBuilder.Cart.Id); var order = orderDto.ToCustomerOrder(WorkContext.AllCurrencies, WorkContext.CurrentLanguage); var taskList = new List <Task> { //Raise domain event asynchronously _publisher.Publish(new OrderPlacedEvent(WorkContext, orderDto.ToCustomerOrder(WorkContext.AllCurrencies, WorkContext.CurrentLanguage), cartBuilder.Cart)), //Remove the cart asynchronously removeCart ? cartBuilder.RemoveCartAsync() : Task.CompletedTask }; //Process order asynchronously var incomingPaymentDto = orderDto.InPayments?.FirstOrDefault(); Task <orderModel.ProcessPaymentRequestResult> processPaymentTask = null; if (incomingPaymentDto != null) { processPaymentTask = _orderApi.ProcessOrderPaymentsAsync(orderDto.Id, incomingPaymentDto.Id, bankCardInfo?.ToBankCardInfoDto()); taskList.Add(processPaymentTask); } await Task.WhenAll(taskList.ToArray()); return(new OrderCreatedInfo { Order = order, OrderProcessingResult = processPaymentTask != null ? (await processPaymentTask).ToProcessPaymentResult(order) : null, PaymentMethod = incomingPaymentDto?.PaymentMethod.ToPaymentMethod(order), }); }
public ShopifyCompatibilityController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, ICartBuilder cartBuilder, ICatalogSearchService catalogService) : base(workContext, urlBuilder) { _workContext = workContext; _cartBuilder = cartBuilder; _catalogService = catalogService; }
public ApiListsController(IWorkContextAccessor workContextAccessor, ICatalogService catalogService, ICartService cartService, ICartBuilder cartBuilder, IStorefrontUrlBuilder urlBuilder) : base(workContextAccessor, urlBuilder) { _cartBuilder = cartBuilder; _catalogService = catalogService; _cartService = cartService; }
public ApiQuoteRequestController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, ICartBuilder cartBuilder, IQuoteRequestBuilder quoteRequestBuilder, ICatalogSearchService catalogSearchService) : base(workContext, urlBuilder) { _quoteRequestBuilder = quoteRequestBuilder; _cartBuilder = cartBuilder; _catalogSearchService = catalogSearchService; }
public CartServiceTests() { this.cartBuilder = Substitute.For <ICartBuilder <Connect.Cart> >(); this.cartManager = Substitute.For <ICartManager>(); this.inventoryManager = Substitute.For <IInventoryManager>(); var catalogContext = Substitute.For <ICatalogContext>(); this.catalogService = Substitute.For <ICatalogService>(); var storefrontContext = Substitute.For <IStorefrontContext>(); this.visitorContext = Substitute.For <IVisitorContext>(); this.cartService = new CartService( this.cartBuilder, this.cartManager, this.inventoryManager, catalogContext, catalogService, storefrontContext, this.visitorContext); this.fixture = new Fixture().Customize(new OmitOnRecursionCustomization()); this.cartResult = this.fixture.Create <CartResult>(); this.commerceCart = this.fixture.Create <CommerceCart>(); this.cartResult.Cart = this.commerceCart; this.cartManager.LoadCart(Arg.Any <string>(), Arg.Any <string>()).Returns(this.cartResult); }
public CartItemManager(ICartBuilder cartBuilder, ISession session, IGetUserGuid getUserGuid, IGetExistingCartItem getExistingCartItem) { _cartBuilder = cartBuilder; _session = session; _getUserGuid = getUserGuid; _getExistingCartItem = getExistingCartItem; }
public ShopifyCompatibilityController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, ICartBuilder cartBuilder, ICatalogSearchService catalogService) : base(workContext, urlBuilder) { _workContext = workContext; _urlBuilder = urlBuilder; _cartBuilder = cartBuilder; _catalogService = catalogService; }
public OrderBuilder(ICartBuilder <Cart> cartBuilder, IOrderMapper orderMapper) { Assert.ArgumentNotNull(orderMapper, nameof(orderMapper)); Assert.ArgumentNotNull(cartBuilder, nameof(cartBuilder)); this.orderMapper = orderMapper; this.cartBuilder = cartBuilder; }
public ApiQuoteRequestController(IWorkContextAccessor workContextAccessor, IStorefrontUrlBuilder urlBuilder, ICartBuilder cartBuilder, IQuoteRequestBuilder quoteRequestBuilder, ICatalogService catalogService, IQuoteService quoteService) : base(workContextAccessor, urlBuilder) { _quoteRequestBuilder = quoteRequestBuilder; _cartBuilder = cartBuilder; _catalogService = catalogService; _quoteService = quoteService; }
public GetPaypalShippingOptions(IPaypalExpressCartLoader paypalExpressCartLoader, ICartManager cartManager, ICartBuilder cartBuilder, IShippingMethodUIService shippingMethodUiService) { _paypalExpressCartLoader = paypalExpressCartLoader; _cartManager = cartManager; _cartBuilder = cartBuilder; _shippingMethodUIService = shippingMethodUiService; }
public GetPaypalShippingOptions(IPaypalExpressCartLoader paypalExpressCartLoader, ICartManager cartManager, ICartBuilder cartBuilder, IShippingMethodUIService shippingMethodUiService) { _paypalExpressCartLoader = paypalExpressCartLoader; _cartManager = cartManager; _cartBuilder = cartBuilder; _shippingMethodUIService = shippingMethodUiService; }
public CartItemManagerTests() { _cartModel = new CartModel(); Session.Transact(session => session.SaveOrUpdate(_productVariant)); _getUserGuid = A.Fake <IGetUserGuid>(); _cartBuilder = A.Fake <ICartBuilder>(); A.CallTo(() => _cartBuilder.BuildCart()).Returns(_cartModel); _cartItemManager = new CartItemManager(_cartBuilder, Session, _getUserGuid); }
public CartItemManagerTests() { _cartModel = new CartModel(); Session.Transact(session => session.SaveOrUpdate(_productVariant)); _getUserGuid = A.Fake<IGetUserGuid>(); _cartBuilder = A.Fake<ICartBuilder>(); A.CallTo(() => _cartBuilder.BuildCart()).Returns(_cartModel); _cartItemManager = new CartItemManager(_cartBuilder, Session, _getUserGuid); }
public OrderBuilderTests() { this.fixture = new Fixture().Customize(new OmitOnRecursionCustomization()); this.cartBuilder = Substitute.For <ICartBuilder <Cart> >(); this.orderMapper = Substitute.For <IOrderMapper>(); this.orderBuilder = new OrderBuilder(this.cartBuilder, this.orderMapper); }
public ApiQuoteRequestController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, ICartBuilder cartBuilder, IQuoteModuleApi quoteApi, IQuoteRequestBuilder quoteRequestBuilder, ICatalogSearchService catalogSearchService) : base(workContext, urlBuilder) { _quoteApi = quoteApi; _quoteRequestBuilder = quoteRequestBuilder; _cartBuilder = cartBuilder; _catalogSearchService = catalogSearchService; }
public OrderBuilderTests() { this.fixture = this.CreateOmitOnRecursionFixture(); this.cartBuilder = Substitute.For <ICartBuilder <Cart> >(); this.orderMapper = Substitute.For <IOrderMapper>(); this.orderBuilder = new OrderBuilder(this.cartBuilder, this.orderMapper); }
public EmptyBasketTests() { _cartModel = new CartModel(); Session.Transact(session => session.SaveOrUpdate(_productVariant)); _cartBuilder = A.Fake<ICartBuilder>(); A.CallTo(() => _cartBuilder.BuildCart()).Returns(_cartModel); _clearCartSessionKeys = A.Fake<IClearCartSessionKeys>(); _emptyBasket = new EmptyBasket(_cartBuilder, Session, _clearCartSessionKeys); }
public EmptyBasketTests() { _cartModel = new CartModel(); Session.Transact(session => session.SaveOrUpdate(_productVariant)); _cartBuilder = A.Fake <ICartBuilder>(); A.CallTo(() => _cartBuilder.BuildCart()).Returns(_cartModel); _clearCartSessionKeys = A.Fake <IClearCartSessionKeys>(); _emptyBasket = new EmptyBasket(_cartBuilder, Session, _clearCartSessionKeys); }
public QuoteRequestController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, IQuoteRequestBuilder quoteRequestBuilder, ICatalogSearchService catalogSearchService, IQuoteModuleApi quoteApi, ICartBuilder cartBuilder) : base(workContext, urlBuilder) { _quoteApi = quoteApi; _quoteRequestBuilder = quoteRequestBuilder; _catalogSearchService = catalogSearchService; _cartBuilder = cartBuilder; }
public BulkOrderController( WorkContext workContext, IStorefrontUrlBuilder urlBuilder, ICartBuilder cartBuilder, ICatalogSearchService catalogSearchService) : base(workContext, urlBuilder) { _cartBuilder = cartBuilder; _catalogSearchService = catalogSearchService; }
public ApiCartController(WorkContext workContext, ICatalogSearchService catalogSearchService, ICartBuilder cartBuilder, IOrdersModuleApiClient orderApi, IStorefrontUrlBuilder urlBuilder, IEventPublisher <OrderPlacedEvent> orderPlacedEventPublisher, ISubscriptionModuleApiClient subscriptionApi) : base(workContext, urlBuilder) { _cartBuilder = cartBuilder; _orderApi = orderApi; _catalogSearchService = catalogSearchService; _orderPlacedEventPublisher = orderPlacedEventPublisher; _subscriptionApi = subscriptionApi; }
public ApiCartController(WorkContext workContext, ICatalogSearchService catalogSearchService, ICartBuilder cartBuilder, IOrderModuleApi orderApi, ICartValidator cartValidator, IStorefrontUrlBuilder urlBuilder, IEventPublisher<OrderPlacedEvent> orderPlacedEventPublisher) : base(workContext, urlBuilder) { _cartBuilder = cartBuilder; _orderApi = orderApi; _cartValidator = cartValidator; _catalogSearchService = catalogSearchService; _orderPlacedEventPublisher = orderPlacedEventPublisher; }
public CartController(WorkContext workContext, IOrderModuleApi orderApi, IStorefrontUrlBuilder urlBuilder, ICartBuilder cartBuilder, IMarketingModuleApi marketingApi, ICommerceCoreModuleApi commerceApi, ICartValidator cartValidator) : base(workContext, urlBuilder) { _cartBuilder = cartBuilder; _orderApi = orderApi; _marketingApi = marketingApi; _commerceApi = commerceApi; _cartValidator = cartValidator; }
public ApiCartController(WorkContext workContext, ICatalogSearchService catalogSearchService, ICartBuilder cartBuilder, IVirtoCommerceOrdersApi orderApi, ICartValidator cartValidator, IStorefrontUrlBuilder urlBuilder, IEventPublisher <OrderPlacedEvent> orderPlacedEventPublisher) : base(workContext, urlBuilder) { _cartBuilder = cartBuilder; _orderApi = orderApi; _cartValidator = cartValidator; _catalogSearchService = catalogSearchService; _orderPlacedEventPublisher = orderPlacedEventPublisher; }
public ApiCartController(IWorkContextAccessor workContextAccessor, ICatalogService catalogService, ICartBuilder cartBuilder, IOrderModule orderApi, IStorefrontUrlBuilder urlBuilder, IEventPublisher publisher, ISubscriptionService subscriptionService) : base(workContextAccessor, urlBuilder) { _cartBuilder = cartBuilder; _orderApi = orderApi; _catalogService = catalogService; _publisher = publisher; _subscriptionService = subscriptionService; }
public AccountController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, ICommerceCoreModuleApi commerceCoreApi, ICustomerManagementModuleApi customerApi, IAuthenticationManager authenticationManager, IVirtoCommercePlatformApi platformApi, IOrderModuleApi orderApi, ICartBuilder cartBuilder) : base(workContext, urlBuilder) { _commerceCoreApi = commerceCoreApi; _customerApi = customerApi; _authenticationManager = authenticationManager; _platformApi = platformApi; _orderApi = orderApi; _cartBuilder = cartBuilder; }
public WorkContextOwinMiddleware(OwinMiddleware next, UnityContainer container) : base(next) { _storeApi = container.Resolve<IStoreModuleApi>(); _platformApi = container.Resolve<IVirtoCommercePlatformApi>(); _customerApi = container.Resolve<ICustomerManagementModuleApi>(); _cartBuilder = container.Resolve<ICartBuilder>(); _cmsApi = container.Resolve<ICMSContentModuleApi>(); _pricingModuleApi = container.Resolve<IPricingModuleApi>(); _cacheManager = container.Resolve<ICacheManager<object>>(); _container = container; }
public WorldPayPaymentService(WorldPaySettings worldPaySettings, CartModel cart, EcommerceSettings ecommerceSettings, ICartBuilder cartBuilder, ISession session, IOrderPlacementService orderPlacementService, Site site) { _worldPaySettings = worldPaySettings; _cart = cart; _ecommerceSettings = ecommerceSettings; _cartBuilder = cartBuilder; _session = session; _orderPlacementService = orderPlacementService; _site = site; }
public WorkContextOwinMiddleware(OwinMiddleware next, UnityContainer container) : base(next) { _storeApi = container.Resolve <IStoreModuleApi>(); _platformApi = container.Resolve <IVirtoCommercePlatformApi>(); _customerApi = container.Resolve <ICustomerManagementModuleApi>(); _cartBuilder = container.Resolve <ICartBuilder>(); _cmsApi = container.Resolve <ICMSContentModuleApi>(); _pricingModuleApi = container.Resolve <IPricingModuleApi>(); _cacheManager = container.Resolve <ICacheManager <object> >(); _container = container; }
public ApiCartController(WorkContext workContext, ICatalogSearchService catalogSearchService, ICartBuilder cartBuilder, IShoppingCartModuleApi cartApi, IOrderModuleApi orderApi, ICartValidator cartValidator, IStorefrontUrlBuilder urlBuilder, IEventPublisher <OrderPlacedEvent> orderPlacedEventPublisher) : base(workContext, urlBuilder) { _cartBuilder = cartBuilder; _cartApi = cartApi; _orderApi = orderApi; _cartValidator = cartValidator; _catalogSearchService = catalogSearchService; _orderPlacedEventPublisher = orderPlacedEventPublisher; }
public WorldPayPaymentService(WorldPaySettings worldPaySettings, CartModel cart, EcommerceSettings ecommerceSettings, ICartBuilder cartBuilder, ISession session, IOrderPlacementService orderPlacementService, Site site) { _worldPaySettings = worldPaySettings; _cart = cart; _ecommerceSettings = ecommerceSettings; _cartBuilder = cartBuilder; _session = session; _orderPlacementService = orderPlacementService; _site = site; }
public AccountController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, ICommerceCoreModuleApi commerceCoreApi, ICustomerManagementModuleApi customerApi, IAuthenticationManager authenticationManager, IVirtoCommercePlatformApi platformApi, IOrderModuleApi orderApi, ICartBuilder cartBuilder) : base(workContext, urlBuilder) { _commerceCoreApi = commerceCoreApi; _customerApi = customerApi; _authenticationManager = authenticationManager; _platformApi = platformApi; _orderApi = orderApi; _cartBuilder = cartBuilder; }
public CartController(WorkContext workContext, IShoppingCartModuleApi cartApi, IOrderModuleApi orderApi, IStorefrontUrlBuilder urlBuilder, ICartBuilder cartBuilder, ICatalogSearchService catalogService, IMarketingModuleApi marketingApi, ICommerceCoreModuleApi commerceApi, ICustomerManagementModuleApi customerApi) : base(workContext, urlBuilder) { _cartBuilder = cartBuilder; _catalogService = catalogService; _cartApi = cartApi; _orderApi = orderApi; _marketingApi = marketingApi; _commerceApi = commerceApi; _customerApi = customerApi; }
public CharityClearPaymentService(CartModel cart, EcommerceSettings ecommerceSettings, ICartBuilder cartBuilder, ISession session, IOrderPlacementService orderPlacementService, Site site, CharityClearSettings charityClearSettings, ILogAdminService logService) { _cart = cart; _ecommerceSettings = ecommerceSettings; _cartBuilder = cartBuilder; _session = session; _orderPlacementService = orderPlacementService; _site = site; _charityClearSettings = charityClearSettings; _logService = logService; }
public CartController(WorkContext workContext, IShoppingCartModuleApi cartApi, IOrderModuleApi orderApi, IStorefrontUrlBuilder urlBuilder, ICartBuilder cartBuilder, ICatalogSearchService catalogService, IMarketingModuleApi marketingApi, ICommerceCoreModuleApi commerceApi, ICustomerManagementModuleApi customerApi) : base(workContext, urlBuilder) { _cartBuilder = cartBuilder; _catalogService = catalogService; _cartApi = cartApi; _orderApi = orderApi; _marketingApi = marketingApi; _commerceApi = commerceApi; _customerApi = customerApi; }
public CharityClearPaymentService(CartModel cart, EcommerceSettings ecommerceSettings, ICartBuilder cartBuilder, ISession session, IOrderPlacementService orderPlacementService, Site site, CharityClearSettings charityClearSettings, ILogAdminService logService) { _cart = cart; _ecommerceSettings = ecommerceSettings; _cartBuilder = cartBuilder; _session = session; _orderPlacementService = orderPlacementService; _site = site; _charityClearSettings = charityClearSettings; _logService = logService; }
public CartController(WorkContext workContext, IOrderModuleApi orderApi, IStorefrontUrlBuilder urlBuilder, ICartBuilder cartBuilder, ICatalogSearchService catalogService, IMarketingModuleApi marketingApi, ICommerceCoreModuleApi commerceApi, ICustomerManagementModuleApi customerApi, ICartValidator cartValidator, IEventPublisher <OrderPlacedEvent> orderPlacedEventPublisher) : base(workContext, urlBuilder) { _cartBuilder = cartBuilder; _catalogService = catalogService; _orderApi = orderApi; _marketingApi = marketingApi; _commerceApi = commerceApi; _customerApi = customerApi; _cartValidator = cartValidator; _orderPlacedEventPublisher = orderPlacedEventPublisher; }
public CartController(WorkContext workContext, IOrderModuleApi orderApi, IStorefrontUrlBuilder urlBuilder, ICartBuilder cartBuilder, ICatalogSearchService catalogService, IMarketingModuleApi marketingApi, ICommerceCoreModuleApi commerceApi, ICustomerManagementModuleApi customerApi, ICartValidator cartValidator, IEventPublisher<OrderPlacedEvent> orderPlacedEventPublisher) : base(workContext, urlBuilder) { _cartBuilder = cartBuilder; _catalogService = catalogService; _orderApi = orderApi; _marketingApi = marketingApi; _commerceApi = commerceApi; _customerApi = customerApi; _cartValidator = cartValidator; _orderPlacedEventPublisher = orderPlacedEventPublisher; }
public void CheckoutQuoteRequest() { WorkContext workContext = GetTestWorkContext(); IQuoteRequestBuilder quoteRequestBuilder = GetQuoteRequestBuilder(); var customer = new CustomerInfo { Id = Guid.NewGuid().ToString(), IsRegisteredUser = false }; workContext.CurrentCustomer = customer; QuoteRequest quoteRequest = quoteRequestBuilder.GetOrCreateNewTransientQuoteRequestAsync(workContext.CurrentStore, customer, workContext.CurrentLanguage, workContext.CurrentCurrency).Result.QuoteRequest; ICatalogSearchService catalogSearchService = GetCatalogSearchService(); Product[] searchResult = catalogSearchService.GetProductsAsync(new[] { "217be9f3d9064075821f6785dca658b9" }, ItemResponseGroup.ItemLarge).Result; quoteRequestBuilder.AddItem(searchResult.First(), 1); quoteRequestBuilder.SaveAsync().Wait(); var quoteItem = quoteRequestBuilder.QuoteRequest.Items.First(); quoteItem.ProposalPrices.Add(new TierPrice(quoteItem.SalePrice * 0.7, 5)); quoteItem.ProposalPrices.Add(new TierPrice(quoteItem.SalePrice * 0.5, 10)); quoteRequestBuilder.SaveAsync().Wait(); quoteRequest = quoteRequestBuilder.GetOrCreateNewTransientQuoteRequestAsync(workContext.CurrentStore, customer, workContext.CurrentLanguage, workContext.CurrentCurrency).Result.QuoteRequest; Assert.NotNull(quoteRequest.Items); Assert.Equal(quoteRequest.Items.Count, 1); var requestItem = quoteRequest.Items.First(); foreach (var proposalPrice in requestItem.ProposalPrices) { requestItem.SelectedTierPrice = proposalPrice; ICartBuilder cartBuilder = GetCartBuilder(); cartBuilder.LoadOrCreateNewTransientCartAsync("default", workContext.CurrentStore, customer, workContext.CurrentLanguage, workContext.CurrentCurrency).Wait(); cartBuilder.FillFromQuoteRequestAsync(quoteRequest).Wait(); cartBuilder.SaveAsync().Wait(); cartBuilder.LoadOrCreateNewTransientCartAsync("default", workContext.CurrentStore, customer, workContext.CurrentLanguage, workContext.CurrentCurrency).Wait(); var cart = cartBuilder.Cart; var item = cart.Items.First(); Assert.Equal(requestItem.SelectedTierPrice.ActualPrice, item.SalePrice); Assert.Equal(requestItem.SelectedTierPrice.Quantity, item.Quantity); } }
public AccountController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, ICommerceCoreModuleApi commerceCoreApi, IAuthenticationManager authenticationManager, IVirtoCommercePlatformApi platformApi, ICartBuilder cartBuilder, ICustomerService customerService, IOrderModuleApi orderApi, IEventPublisher <UserLoginEvent> userLoginEventPublisher, ICacheManager <object> cacheManager) : base(workContext, urlBuilder) { _commerceCoreApi = commerceCoreApi; _customerService = customerService; _authenticationManager = authenticationManager; _platformApi = platformApi; _cartBuilder = cartBuilder; _cacheManager = cacheManager; _orderApi = orderApi; _userLoginEventPublisher = userLoginEventPublisher; }
public CopyCartToUser(ISession session, ICartBuilder cartBuilder) { _session = session; _cartBuilder = cartBuilder; }
public SagePayCartLoader(ISession session, ICartBuilder cartBuilder) { _session = session; _cartBuilder = cartBuilder; }
public PaypalExpressCartLoader(ISession session, ICartBuilder cartBuilder) { _session = session; _cartBuilder = cartBuilder; }
public CartItemManager(ICartBuilder cartBuilder, ISession session, IGetUserGuid getUserGuid) { _cartBuilder = cartBuilder; _session = session; _getUserGuid = getUserGuid; }
public EmptyBasket(ICartBuilder cartBuilder, ISession session, IClearCartSessionKeys clearCartSessionKeys) { _cartBuilder = cartBuilder; _session = session; _clearCartSessionKeys = clearCartSessionKeys; }
public CartManager(ICartBuilder cartBuilder, ICartSessionManager cartSessionManager, IGetUserGuid getUserGuid) { _cartBuilder = cartBuilder; _cartSessionManager = cartSessionManager; _getUserGuid = getUserGuid; }