/// <summary> /// Initializes a new instance of the <see cref="OrderCancelTest"/> class. /// </summary> public CancelOrderTest() { this.orderId = 1; this.customerId = 1; this.request = new VisitorCancelOrderRequest(this.orderId.ToString(), this.customerId.ToString(), "NopShop"); this.result = new VisitorCancelOrderResult(); this.args = new ServicePipelineArgs(this.request, this.result); this.client = Substitute.For <IOrdersServiceChannel>(); var clientFactory = Substitute.For <ServiceClientFactory>(); clientFactory.CreateClient <IOrdersServiceChannel>(Arg.Any <string>(), Arg.Any <string>()).Returns(this.client); this.processor = new CancelOrder { ClientFactory = clientFactory }; }
/// <summary> /// Cancels one or more items from an existing order. /// </summary> /// <param name="storefront">The storefront context.</param> /// <param name="visitorContext">The visitor context.</param> /// <param name="inputModel">The order cancellation input model.</param> /// <returns>The result of the operation.</returns> public ManagerResponse <VisitorCancelOrderResult, bool> CancelOrder([NotNull] CommerceStorefront storefront, [NotNull] VisitorContext visitorContext, CancelOrderInputModel inputModel) { Assert.ArgumentNotNull(storefront, "storefront"); Assert.ArgumentNotNull(visitorContext, "visitorContext"); Assert.ArgumentNotNull(inputModel, "inputModel"); Assert.ArgumentNotNullOrEmpty(inputModel.OrderId, "inputModel.OrderId"); var request = new VisitorCancelOrderRequest(inputModel.OrderId, visitorContext.GetCustomerId(), storefront.ShopName); request.OrderLineExternalIds = inputModel.OrderLineExternalIds; var result = this.OrderServiceProvider.VisitorCancelOrder(request); if (!result.Success) { Helpers.LogSystemMessages(result.SystemMessages, result); } return(new ManagerResponse <VisitorCancelOrderResult, bool>(result, result.Success)); }
public ManagerResponse <VisitorCancelOrderResult, bool> CancelOrder(string userId, CancelOrderInputModel inputModel) { Assert.ArgumentNotNull(inputModel, nameof(inputModel)); Assert.ArgumentNotNullOrEmpty(inputModel.OrderId, nameof(inputModel.OrderId)); if (StorefrontContext.Current == null) { throw new InvalidOperationException("Cannot be called without a valid storefront context."); } var request = new VisitorCancelOrderRequest(inputModel.OrderId, userId, StorefrontContext.Current.ShopName) { OrderLineExternalIds = inputModel.OrderLineExternalIds }; var result = OrderServiceProvider.VisitorCancelOrder(request); result.WriteToSitecoreLog(); return(new ManagerResponse <VisitorCancelOrderResult, bool>(result, result.Success)); }