public ShippingManager(IConnectServiceProvider connectServiceProvider, IConnectEntityMapper connectEntityMapper) { Assert.ArgumentNotNull((object)connectServiceProvider, nameof(connectServiceProvider)); Assert.ArgumentNotNull((object)connectEntityMapper, nameof(connectEntityMapper)); this.connectEntityMapper = connectEntityMapper; this.shippingServiceProvider = connectServiceProvider.GetShippingServiceProvider(); }
private ReadOnlyCollection <ShippingOption> GetShippingOptions() { var shippingService = new ShippingServiceProvider(); var request = new GetShippingOptionsRequest(); return(shippingService.GetShippingOptions(request).ShippingOptions); }
public ShippingManager(IConnectServiceProvider connectServiceProvider, ILogService <CommonLog> logService) : base(logService) { Assert.ArgumentNotNull(connectServiceProvider, nameof(connectServiceProvider)); this.shippingServiceProvider = connectServiceProvider.GetShippingServiceProvider(); }
public ManagerResponse <GetShippingMethodsResult, IReadOnlyCollection <ShippingMethod> > GetShippingMethods(string userId, GetShippingMethodsInputModel inputModel) { Assert.ArgumentNotNull(inputModel, nameof(inputModel)); var result = new GetShippingMethodsResult { Success = false }; var cartResult = CartManager.GetCart(userId); if (!cartResult.ServiceProviderResult.Success || cartResult.Result == null) { result.SystemMessages.ToList().AddRange(cartResult.ServiceProviderResult.SystemMessages); return(new ManagerResponse <GetShippingMethodsResult, IReadOnlyCollection <ShippingMethod> >(result, null)); } var cart = cartResult.Result; var preferenceType = InputModelExtension.GetShippingOptionType(inputModel.ShippingPreferenceType); var request = new GetShippingMethodsRequest(new ShippingOption { ShippingOptionType = preferenceType }, inputModel.ShippingAddress?.ToParty(), cart) { Lines = inputModel.Lines?.ToCommerceCartLines() }; result = ShippingServiceProvider.GetShippingMethods <Sitecore.Commerce.Services.Shipping.GetShippingMethodsRequest, GetShippingMethodsResult>(request); return(new ManagerResponse <GetShippingMethodsResult, IReadOnlyCollection <ShippingMethod> >(result, result.ShippingMethods)); }
/// <summary> /// Initializes a new instance of the <see cref="ShippingManager"/> class. /// </summary> /// <param name="shippingServiceProvider">The shipping service provider.</param> /// <param name="cartManager">The cart manager.</param> public ShippingManager([NotNull] ShippingServiceProvider shippingServiceProvider, [NotNull] CartManager cartManager) { Assert.ArgumentNotNull(shippingServiceProvider, "shippingServiceProvider"); Assert.ArgumentNotNull(cartManager, "cartManager"); this.ShippingServiceProvider = shippingServiceProvider; this.CartManager = cartManager; }
public ShippingManager(ShippingServiceProvider shippingServiceProvider, CartManager cartManager) { Assert.ArgumentNotNull(shippingServiceProvider, nameof(shippingServiceProvider)); Assert.ArgumentNotNull(cartManager, nameof(cartManager)); ShippingServiceProvider = shippingServiceProvider; CartManager = cartManager; }
private ReadOnlyCollection <ShippingMethod> GetShippingMethods(ShippingOption shippingOption, Cart cart) { var shippingService = new ShippingServiceProvider(); var shippingParty = cart.Parties.FirstOrDefault(x => x.PartyId == Constants.DefaultShipmentAddressName); var party = cart.Parties.FirstOrDefault(x => x.PartyId == shippingParty.PartyId); var request = new GetShippingMethodsRequest(shippingOption, party); return(shippingService.GetShippingMethods(request).ShippingMethods); }
public ShippingManagerTests() { var connectServiceProvider = Substitute.For <IConnectServiceProvider>(); var logService = Substitute.For <ILogService <CommonLog> >(); this.shippingServiceProvider = Substitute.For <ShippingServiceProvider>(); connectServiceProvider.GetShippingServiceProvider().Returns(this.shippingServiceProvider); this.fixture = this.CreateOmitOnRecursionFixture(); this.shippingManager = Substitute.For <ShippingManager>(connectServiceProvider, logService); }
public ManagerResponse <GetShippingOptionsResult, List <ShippingOption> > GetShippingPreferences(Cart cart) { Assert.ArgumentNotNull(cart, nameof(cart)); var request = new GetShippingOptionsRequest(cart); var result = ShippingServiceProvider.GetShippingOptions(request); if (result.Success && result.ShippingOptions != null) { return(new ManagerResponse <GetShippingOptionsResult, List <ShippingOption> >(result, result.ShippingOptions.ToList())); } result.WriteToSitecoreLog(); return(new ManagerResponse <GetShippingOptionsResult, List <ShippingOption> >(result, null)); }
/// <summary> /// Initializes a new instance of the <see cref="CheckoutService"/> class. /// </summary> /// <param name="shippingServiceProvider">The shipping service provider.</param> /// <param name="paymentServiceProvider">The payment service provider.</param> /// <param name="customerServiceProvider">The customer service provider.</param> /// <param name="cartService">The cart service.</param> /// <param name="shopName">The shop name.</param> public CheckoutService( [NotNull] ShippingServiceProvider shippingServiceProvider, [NotNull] PaymentServiceProvider paymentServiceProvider, [NotNull] CustomerServiceProvider customerServiceProvider, [NotNull] ICartService cartService, [NotNull] string shopName) { Assert.ArgumentNotNull(shippingServiceProvider, "shippingServiceProvider"); Assert.ArgumentNotNull(paymentServiceProvider, "paymentServiceProvider"); Assert.ArgumentNotNull(customerServiceProvider, "customerServiceProvider"); Assert.ArgumentNotNull(cartService, "cartService"); Assert.ArgumentNotNullOrEmpty(shopName, "shopName"); this._shippingServiceProvider = shippingServiceProvider; this._paymentServiceProvider = paymentServiceProvider; this._customerServiceProvider = customerServiceProvider; this._cartService = cartService; this.shopName = shopName; }
public ActionResult GetCartLineFulfillmentMethods() { // Load a cart var loadCartRequest = new LoadCartRequest("CommerceEngineDefaultStorefront", "Default", "1234"); var loadCartResult = _cartServiceProvider.LoadCart(loadCartRequest); var cart = loadCartResult.Cart as CommerceCart; // Add a line to the cart var lines = new List <CartLine>(); var cartLine = new CommerceCartLine("NEU", "test", "", 1.0M); lines.Add(cartLine); var addLinesRequest = new AddCartLinesRequest(cart, lines); var addLinesResult = _cartServiceProvider.AddCartLines(addLinesRequest); cart = addLinesResult.Cart as CommerceCart; var shippingService = new ShippingServiceProvider(); var shippingOption = new ShippingOption { ShippingOptionType = ShippingOptionType .DeliverItemsIndividually, // This will trigger calling GetCartLinesFulfillmentMethods instead of GetCartFulfillmentMethods }; var shippingParty = new CommerceParty { Address1 = "Main Street", City = "Montreal", ZipPostalCode = "NW7 7SJ", Country = "Canada", CountryCode = "CA" }; var request = new GetShippingMethodsRequest(shippingOption, shippingParty, cart) { Lines = cart.Lines.Cast <CommerceCartLine>().ToList() }; var result = shippingService.GetShippingMethods(request); return(View(result)); }