public ManagerResponse <CustomerResult, bool> RemoveParties(CommerceCustomer user, List <CommerceParty> parties) { Assert.ArgumentNotNull(user, nameof(user)); Assert.ArgumentNotNull(parties, nameof(parties)); var request = new RemovePartiesRequest(user, parties.Cast <Party>().ToList()); var result = CustomerServiceProvider.RemoveParties(request); result.WriteToSitecoreLog(); return(new ManagerResponse <CustomerResult, bool>(result, result.Success)); }
public ManagerResponse <CustomerResult, IEnumerable <Party> > RemoveParties( CommerceCustomer customer, IEnumerable <Party> parties) { Assert.ArgumentNotNull(customer, nameof(customer)); Assert.ArgumentNotNull(parties, nameof(parties)); var removePartiesRequest = new RemovePartiesRequest(customer, parties.ToList()); var removePartiesResult = this.customerServiceProvider.RemoveParties(removePartiesRequest); return(new ManagerResponse <CustomerResult, IEnumerable <Party> >(removePartiesResult, null)); }
/// <summary> /// Removes the parties. /// </summary> /// <param name="storefront">The storefront.</param> /// <param name="user">The user.</param> /// <param name="parties">The parties.</param> /// <returns>The manager result where the success flag is returned as the Result.</returns> public virtual ManagerResponse <CustomerResult, bool> RemoveParties([NotNull] CommerceStorefront storefront, [NotNull] CommerceCustomer user, List <CommerceParty> parties) { Assert.ArgumentNotNull(storefront, "storefront"); Assert.ArgumentNotNull(user, "user"); Assert.ArgumentNotNull(parties, "parties"); var request = new RemovePartiesRequest(user, parties.Cast <Party>().ToList()); var result = this.CustomerServiceProvider.RemoveParties(request); if (!result.Success) { Helpers.LogSystemMessages(result.SystemMessages, result); } return(new ManagerResponse <CustomerResult, bool>(result, result.Success)); }
public void ShouldHandleInvalidCustomerId() { var request = new RemovePartiesRequest( new CommerceCustomer { ExternalId = "1234" }, new List <Party>(0) ); var result = new CustomerPartiesResult(); var args = new ServicePipelineArgs(request, result); _processor.Process(args); result.Success.Should().Be(false); result.SystemMessages.Should().HaveCount(x => x > 0); }
/// <summary> /// Removes party info from a cart /// </summary> /// <param name="storefront">The Storefront Context</param> /// <param name="visitorContext">The Visitor Context</param> /// <param name="cart">the cart</param> /// <param name="party">the party info</param> /// <returns>the updated cart</returns> protected virtual CartResult RemovePartyFromCart([NotNull] CommerceStorefront storefront, [NotNull] VisitorContext visitorContext, [NotNull] CommerceCart cart, [NotNull] CommerceParty party) { Assert.ArgumentNotNull(cart, "cart"); Assert.ArgumentNotNull(party, "party"); var request = new RemovePartiesRequest(cart, new List <Party> { party }); var result = this.CartServiceProvider.RemoveParties(request); if (!result.Success) { Helpers.LogSystemMessages(result.SystemMessages, result); } return(result); }
public void ShouldCallServiceWithCorrectArgs() { var customerId = Guid.NewGuid(); var request = new RemovePartiesRequest( new CommerceCustomer { ExternalId = customerId.ToString() }, new List <Party> { new Party(), new Party() } ); var result = new CustomerPartiesResult(); var args = new ServicePipelineArgs(request, result); _processor.Process(args); _client.Received().RemoveAddresses(Arg.Is(customerId), Arg.Any <string[]>()); }
public void ShouldNotRemovePartyFromCart() { cart = new Cart { ExternalId = visitorId.ToString(), Lines = new ReadOnlyCollectionAdapter <CartLine> { new CartLine() }, AccountingCustomerParty = new CartParty() { PartyID = "1", ExternalId = "1" }, BuyerCustomerParty = new CartParty() { PartyID = "1", ExternalId = "1" } }; partiesList = new List <Party>(); request = new RemovePartiesRequest(cart, partiesList); result = new RemovePartiesResult(); args = new ServicePipelineArgs(request, result); var addressesToRemove = new[] { new CustomerAddressModel() { AddressType = AddressTypeModel.Billing } }; var responseModel = new Response() { Message = "Success", Success = true }; client.RemoveAddresses(addressesToRemove, visitorId).Returns(responseModel); // act processor.Process(args); // assert result.Success.Should().BeTrue(); }
/// <summary> /// Processes the specified arguments. /// </summary> /// <param name="args">The arguments.</param> public override void Process(Sitecore.Commerce.Pipelines.ServicePipelineArgs args) { Assert.ArgumentNotNull(args, "args"); Assert.ArgumentNotNull(args.Request, "args.request"); RemovePartiesRequest request = (RemovePartiesRequest)args.Request; RemovePartiesResult result = (RemovePartiesResult)args.Result; var cartContext = CartPipelineContext.Get(request.RequestContext); Assert.IsNotNull(cartContext, "cartContext"); List <Party> partiesRemoved = new List <Party>(); if (cartContext.Basket != null) { foreach (Party party in request.Parties) { if (party != null) { Assert.ArgumentNotNullOrEmpty(party.ExternalId, "party.ExternalId"); OrderAddress orderAddress = cartContext.Basket.Addresses[party.ExternalId]; if (orderAddress != null) { cartContext.Basket.Addresses.Remove(orderAddress); partiesRemoved.Add(party); } } } } result.Parties = partiesRemoved; // Needed by the RunSaveCart CommerceConnect pipeline. var translateCartRequest = new TranslateOrderGroupToEntityRequest(cartContext.UserId, cartContext.ShopName, cartContext.Basket); var translateCartResult = PipelineUtility.RunCommerceConnectPipeline <TranslateOrderGroupToEntityRequest, TranslateOrderGroupToEntityResult>(PipelineNames.TranslateOrderGroupToEntity, translateCartRequest); result.Cart = translateCartResult.Cart; }
/// <summary> /// Removes party info from a cart /// </summary> /// <param name="storefront">The Storefront Context</param> /// <param name="visitorContext">The Visitor Context</param> /// <param name="cart">the cart</param> /// <param name="parties">The parties.</param> /// <returns> /// the updated cart /// </returns> public virtual ManagerResponse<CartResult, CommerceCart> RemovePartiesFromCart([NotNull] CommerceStorefront storefront, [NotNull] VisitorContext visitorContext, [NotNull] CommerceCart cart, [NotNull] List<Party> parties) { Assert.ArgumentNotNull(cart, "cart"); Assert.ArgumentNotNull(parties, "parties"); var request = new RemovePartiesRequest(cart, parties); var result = this.CartServiceProvider.RemoveParties(request); if (!result.Success) { Helpers.LogSystemMessages(result.SystemMessages, result); } return new ManagerResponse<CartResult, CommerceCart>(result, result.Cart as CommerceCart); }
/// <summary> /// Removes all shipping parties. /// </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 a cart in the result.</returns> public virtual ManagerResponse<CartResult, CommerceCart> RemoveAllShippingParties([NotNull] CommerceStorefront storefront, [NotNull] VisitorContext visitorContext, [NotNull] CommerceCart cart) { Assert.ArgumentNotNull(storefront, "storefront"); Assert.ArgumentNotNull(visitorContext, "visitorContext"); Assert.ArgumentNotNull(cart, "cart"); var parties = this.GetPartiesForPrefix(cart, CommerceServerStorefrontConstants.CartConstants.ShippingAddressNamePrefix); var request = new RemovePartiesRequest(cart, parties); var response = this.CartServiceProvider.RemoveParties(request); return new ManagerResponse<CartResult, CommerceCart>(response, response.Cart as CommerceCart); }
/// <summary> /// Removes the parties. /// </summary> /// <param name="storefront">The storefront.</param> /// <param name="user">The user.</param> /// <param name="parties">The parties.</param> /// <returns>The manager result where the success flag is returned as the Result.</returns> public virtual ManagerResponse<CustomerResult, bool> RemoveParties([NotNull] CommerceStorefront storefront, [NotNull] CommerceCustomer user, List<CommerceParty> parties) { Assert.ArgumentNotNull(storefront, "storefront"); Assert.ArgumentNotNull(user, "user"); Assert.ArgumentNotNull(parties, "parties"); var request = new RemovePartiesRequest(user, parties.Cast<Party>().ToList()); var result = this.CustomerServiceProvider.RemoveParties(request); if (!result.Success) { Helpers.LogSystemMessages(result.SystemMessages, result); } return new ManagerResponse<CustomerResult, bool>(result, result.Success); }
/// <summary> /// Removes party info from a cart /// </summary> /// <param name="storefront">The Storefront Context</param> /// <param name="visitorContext">The Visitor Context</param> /// <param name="cart">the cart</param> /// <param name="party">the party info</param> /// <returns>the updated cart</returns> protected virtual CartResult RemovePartyFromCart([NotNull] CommerceStorefront storefront, [NotNull] VisitorContext visitorContext, [NotNull] CommerceCart cart, [NotNull] CustomCommerceParty party) { Assert.ArgumentNotNull(cart, "cart"); Assert.ArgumentNotNull(party, "party"); var request = new RemovePartiesRequest(cart, new List<Party> { party }); var result = this.CartServiceProvider.RemoveParties(request); if (!result.Success) { Helpers.LogSystemMessages(result.SystemMessages, result); } return result; }