Commerce Connect Integration Fundamentals / Commerce Connect Cart Management |
Developer tasks for using service method RemoveShippingInfo.
At your visual studio solution setup:
CartServiceProvider provider = new CartServiceProvider(); // You should get a real user-id. string userId = Guid.NewGuid().ToString("B"); string anonymousUserId = Guid.NewGuid().ToString("B"); var loadRequest = new LoadCartByNameRequest("Website", "MyBasket", userId); var loadResult = provider.LoadCart(loadRequest); CommerceCart cart = loadResult.Cart as CommerceCart; // Add the party (address) information. CommerceParty party = new CommerceParty() { ExternalId = Guid.NewGuid().ToString("B"), Name ="MyFirstAddress", Address1 = "Address 1 field", Address2 = "Address 2 field", City = "City field", Company = "Company field", Country = "Country field", CountryCode = "CND", Email = "a@b.com", EveningPhoneNumber = "111 111-1111", FaxNumber = "222 222-2222", FirstName = "First name field", LastName = "Last name field", PhoneNumber = "333 333-3333", RegionCode = "01", RegionName = "Region field", State = "State field", ZipPostalCode = "HOH OHO" }; AddPartiesRequest request = new AddPartiesRequest(cart, new List<Party> { party }); var result = provider.AddParties(request); party = result.Parties.ElementAt(0) as CommerceParty; cart = result.Cart as CommerceCart; // Get the shipping methods CommerceOrderServiceProvider orderProvider = new CommerceOrderServiceProvider(); GetShippingMethodsRequest shippingMethodsRequest = new GetShippingMethodsRequest("en-US"); var shippingMethodsResult = orderProvider.GetShippingMethods(shippingMethodsRequest); CommerceShippingMethod shippingMethod = shippingMethodsResult.ShippingMethods.ElementAt(0) as CommerceShippingMethod; ShippingInfo shippingInfo = new ShippingInfo() {ShippingMethodID = shippingMethod.ExternalId, PartyID = party.ExternalId }; List<string> lineItemIdList = new List<string>(); // Add all cart lines to the shipping info. foreach (CommerceCartLine lineItem in cart.Lines) { lineItemIdList.Add(lineItem.ExternalCartLineId); } shippingInfo.LineIDs =lineItemIdList; AddShippingInfoRequest shippingInfoRequest = new AddShippingInfoRequest(cart, new List<ShippingInfo> { shippingInfo }); var shippingInfoResult = provider.AddShippingInfo(shippingInfoRequest); cart = shippingInfoResult.Cart as CommerceCart; shippingInfo = cart.Shipping.ElementAt(0) as ShippingInfo; RemoveShippingInfoRequest removeShippingRequest = new RemoveShippingInfoRequest(cart, new List<ShippingInfo>() {shippingInfo }); provider.RemoveShippingInfo(removeShippingRequest);