public ApiQuoteRequestController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, ICartBuilder cartBuilder, IQuoteRequestBuilder quoteRequestBuilder, ICatalogSearchService catalogSearchService)
     : base(workContext, urlBuilder)
 {
     _quoteRequestBuilder  = quoteRequestBuilder;
     _cartBuilder          = cartBuilder;
     _catalogSearchService = catalogSearchService;
 }
Example #2
0
 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 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 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 WorkContextOwinMiddleware(OwinMiddleware next, UnityContainer container)
     : base(next)
 {
     //Be AWARE! WorkContextOwinMiddleware crated once in first application start
     //and  there can not be resolved and stored in fields services using WorkContext as dependency (WorkCOntext has a per request lifetime)
     _storeApi             = container.Resolve <IStoreModuleApi>();
     _quoteRequestBuilder  = container.Resolve <IQuoteRequestBuilder>();
     _pricingModuleApi     = container.Resolve <IPricingModuleApi>();
     _commerceApi          = container.Resolve <ICommerceCoreModuleApi>();
     _cacheManager         = container.Resolve <ILocalCacheManager>();
     _staticContentService = container.Resolve <IStaticContentService>();
     _container            = container;
 }
 public WorkContextOwinMiddleware(OwinMiddleware next, UnityContainer container)
     : base(next)
 {
     //Be AWARE! WorkContextOwinMiddleware crated once in first application start
     //and  there can not be resolved and stored in fields services using WorkContext as dependency (WorkCOntext has a per request lifetime)
     _storeApi = container.Resolve<IStoreModuleApi>();
     _quoteRequestBuilder = container.Resolve<IQuoteRequestBuilder>();
     _pricingModuleApi = container.Resolve<IPricingModuleApi>();
     _commerceApi = container.Resolve<ICommerceCoreModuleApi>();
     _cacheManager = container.Resolve<ILocalCacheManager>();
     _staticContentService = container.Resolve<IStaticContentService>();
     _container = container;
 }
 public WorkContextOwinMiddleware(OwinMiddleware next, UnityContainer container)
     : base(next)
 {
     _storeApi = container.Resolve<IStoreModuleApi>();
     _platformApi = container.Resolve<IVirtoCommercePlatformApi>();
     _cartBuilder = container.Resolve<ICartBuilder>();
     _quoteRequestBuilder = container.Resolve<IQuoteRequestBuilder>();
     _cmsApi = container.Resolve<ICMSContentModuleApi>();
     _pricingModuleApi = container.Resolve<IPricingModuleApi>();
     _commerceApi = container.Resolve<ICommerceCoreModuleApi>();
     _cacheManager = container.Resolve<ICacheManager<object>>();
     _customerService = container.Resolve<ICustomerService>();
     _container = container;
 }
 public WorkContextOwinMiddleware(OwinMiddleware next, UnityContainer container)
     : base(next)
 {
     _storeApi            = container.Resolve <IStoreModuleApi>();
     _platformApi         = container.Resolve <IVirtoCommercePlatformApi>();
     _cartBuilder         = container.Resolve <ICartBuilder>();
     _quoteRequestBuilder = container.Resolve <IQuoteRequestBuilder>();
     _cmsApi           = container.Resolve <ICMSContentModuleApi>();
     _pricingModuleApi = container.Resolve <IPricingModuleApi>();
     _commerceApi      = container.Resolve <ICommerceCoreModuleApi>();
     _cacheManager     = container.Resolve <ICacheManager <object> >();
     _customerService  = container.Resolve <ICustomerService>();
     _container        = container;
 }
        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);
            }
        }
Example #10
0
 public SecurityEventsHandler(IQuoteRequestBuilder quoteBuilder)
 {
     _quoteBuilder = quoteBuilder;
 }
Example #11
0
 public QuoteRequestController(IWorkContextAccessor workContextAccessor, IStorefrontUrlBuilder urlBuilder, IQuoteRequestBuilder quoteRequestBuilder)
     : base(workContextAccessor, urlBuilder)
 {
     _quoteRequestBuilder = quoteRequestBuilder;
 }
 public QuoteRequestController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, IQuoteRequestBuilder quoteRequestBuilder)
     : base(workContext, urlBuilder)
 {
     _quoteRequestBuilder = quoteRequestBuilder;
 }
 public QuoteRequestController(WorkContext workContext, IStorefrontUrlBuilder urlBuilder, IQuoteRequestBuilder quoteRequestBuilder)
     : base(workContext, urlBuilder)
 {
     _quoteRequestBuilder = quoteRequestBuilder;
  }