public PipelineExecutionResult Execute(IPipelineArgs <RemoveShipmentRequest, RemoveShipmentResult> subject) { if (subject.Request.Properties.ContainsKey("FromUCommerce")) { if (!(bool)subject.Request.Properties["FromUCommerce"]) { return(PipelineExecutionResult.Success); } } var cart = MappingLibrary.MapPurchaseOrderToCart(subject.Request.PurchaseOrder); var cartService = new CartServiceProvider(); var shippingList = new List <ShippingInfo> { new ShippingInfo() { ExternalId = subject.Request.Shipment.ShipmentId.ToString(), PartyID = subject.Request.Shipment.ShipmentAddress.OrderAddressId.ToString(), ShippingMethodID = subject.Request.Shipment.ShippingMethod.ShippingMethodId.ToString() } }; var request = new RemoveShippingInfoRequest(cart, shippingList); request.Properties["FromUCommerce"] = true; var result = cartService.RemoveShippingInfo(request); return(PipelineExecutionResult.Success); }
public ActionResult CreateShipment(ShippingPickerViewModel createShipmentViewModel) { var cartService = new CartServiceProvider(); var cart = GetCart(); if (cart.Shipping.Any()) { var removeRequest = new RemoveShippingInfoRequest(cart, cart.Shipping.ToList()); var removeResult = cartService.RemoveShippingInfo(removeRequest); } var shippingParty = cart.Parties.FirstOrDefault(x => x.PartyId == Constants.DefaultShipmentAddressName); var shippingList = new List <ShippingInfo> { new ShippingInfo() { ShippingMethodID = createShipmentViewModel.SelectedShippingMethodId.ToString(), PartyID = shippingParty.PartyId } }; var addRequest = new AddShippingInfoRequest(cart, shippingList); var addResult = cartService.AddShippingInfo(addRequest); return(Redirect("/payment")); }
/// <summary> /// Removes all shipping methods. /// </summary> /// <param name="storefront">The storefront.</param> /// <param name="visitorContext">The visitor context.</param> /// <param name="cart">The cart.</param> /// <returns>The manager response with the cart result and returned cart.</returns> public virtual ManagerResponse<CartResult, CommerceCart> RemoveAllShippingMethods([NotNull] CommerceStorefront storefront, [NotNull] VisitorContext visitorContext, [NotNull] CommerceCart cart) { Assert.ArgumentNotNull(storefront, "storefront"); Assert.ArgumentNotNull(visitorContext, "visitorContext"); Assert.ArgumentNotNull(cart, "cart"); if (cart.Shipping != null && cart.Shipping.Any()) { var request = new RemoveShippingInfoRequest(cart, cart.Shipping.ToList()); var response = this.CartServiceProvider.RemoveShippingInfo(request); return new ManagerResponse<CartResult, CommerceCart>(response, response.Cart as CommerceCart); } return new ManagerResponse<CartResult, CommerceCart>(new RemoveShippingInfoResult { Success = true }, cart); }