private bool TryResolveSubmittedOrder(CartBase cart, out ManagerResponse <SubmitVisitorOrderResult, Order> managerResponse) { var getVisitorOrdersRequest = new GetVisitorOrdersRequest(cart.CustomerId, cart.ShopName); GetVisitorOrdersResult getVisitorOrdersResult = this.orderServiceProvider.GetVisitorOrders(getVisitorOrdersRequest); if (getVisitorOrdersResult.Success) { // Getting the latest order OrderHeader orderHeader = getVisitorOrdersResult.OrderHeaders.OrderByDescending(x => x.OrderDate).FirstOrDefault(); if (orderHeader != null) { var getVisitorOrderRequest = new GetVisitorOrderRequest(orderHeader.OrderID, orderHeader.CustomerId, orderHeader.ShopName); GetVisitorOrderResult getVisitorOrderResult = this.orderServiceProvider.GetVisitorOrder(getVisitorOrderRequest); if (getVisitorOrderResult.Order != null) { managerResponse = new ManagerResponse <SubmitVisitorOrderResult, Order>( new SubmitVisitorOrderResult { Order = getVisitorOrderResult.Order, Success = true }, getVisitorOrderResult.Order); return(true); } } } managerResponse = null; return(false); }
public ManagerResponse <GetVisitorOrderResult, Order> GetOrderDetails(string orderId, string customerId, string shopName) { Assert.ArgumentNotNullOrEmpty(orderId, nameof(orderId)); Assert.ArgumentNotNullOrEmpty(customerId, nameof(customerId)); Assert.ArgumentNotNullOrEmpty(shopName, nameof(shopName)); var getVisitorOrderRequest = new GetVisitorOrderRequest(orderId, customerId, shopName); var getVisitorOrderResult = this.orderServiceProvider.GetVisitorOrder(getVisitorOrderRequest); if (!string.IsNullOrEmpty(getVisitorOrderResult.Order?.CustomerId) && (getVisitorOrderResult.Order?.CustomerId == customerId)) { var successServiceProviderResult = getVisitorOrderResult; return(new ManagerResponse <GetVisitorOrderResult, Order>( successServiceProviderResult, successServiceProviderResult.Order)); } var errorServiceProviderResult = new GetVisitorOrderResult { Success = false }; return(new ManagerResponse <GetVisitorOrderResult, Order>(errorServiceProviderResult, null)); }
public ActionResult GetOrder(string orderId) { var orderService = new OrderServiceProvider(); var visitorOrderRequest = new GetVisitorOrderRequest(orderId, "Entity-Customer-34d758ae2d2d472d89014954d0cc4440", "CommerceEngineDefaultStorefront"); var result = orderService.GetVisitorOrder(visitorOrderRequest); return(View(result)); }
/// <summary> /// Gets the order details. /// </summary> /// <param name="storefront">The storefront.</param> /// <param name="visitorContext">The visitor context.</param> /// <param name="orderId">The order identifier.</param> /// <returns> /// The manager response where the order detail returned in the Result. /// </returns> public ManagerResponse <GetVisitorOrderResult, CommerceOrder> GetOrderDetails([NotNull] CommerceStorefront storefront, [NotNull] IVisitorContext visitorContext, [NotNull] string orderId) { Assert.ArgumentNotNull(storefront, "storefront"); Assert.ArgumentNotNull(visitorContext, "visitorContext"); Assert.ArgumentNotNullOrEmpty(orderId, "orderId"); var customerId = visitorContext.GetCustomerId(); var request = new GetVisitorOrderRequest(orderId, customerId, storefront.ShopName); var result = this._orderServiceProvider.GetVisitorOrder(request); //Helpers.LogSystemMessages(result.SystemMessages, result); return(new ManagerResponse <GetVisitorOrderResult, CommerceOrder>(result, result.Order as CommerceOrder)); }
public ManagerResponse <GetVisitorOrderResult, CommerceOrder> GetOrderDetails(string userId, string orderId) { Assert.ArgumentNotNullOrEmpty(userId, nameof(userId)); Assert.ArgumentNotNullOrEmpty(orderId, nameof(orderId)); if (StorefrontContext.Current == null) { throw new InvalidOperationException("Cannot be called without a valid storefront context."); } var request = new GetVisitorOrderRequest(orderId, userId, StorefrontContext.Current.ShopName); var result = OrderServiceProvider.GetVisitorOrder(request); result.WriteToSitecoreLog(); return(new ManagerResponse <GetVisitorOrderResult, CommerceOrder>(result, result.Order as CommerceOrder)); }
/// <summary> /// Initializes a new instance of the <see cref="GetOrderTest"/> class. /// </summary> public GetOrderTest() { this.orderId = 1; this.customerId = 1; this.request = new GetVisitorOrderRequest(this.orderId.ToString(), this.customerId.ToString(), "NopShop"); this.result = new GetVisitorOrderResult(); 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 GetOrder { ClientFactory = clientFactory }; }
/// <summary> /// Gets the order details. /// </summary> /// <param name="storefront">The storefront.</param> /// <param name="visitorContext">The visitor context.</param> /// <param name="orderId">The order identifier.</param> /// <returns> /// The manager response where the order detail returned in the Result. /// </returns> public ManagerResponse<GetVisitorOrderResult, CommerceOrder> GetOrderDetails([NotNull] CommerceStorefront storefront, [NotNull] VisitorContext visitorContext, [NotNull] string orderId) { Assert.ArgumentNotNull(storefront, "storefront"); Assert.ArgumentNotNull(visitorContext, "visitorContext"); Assert.ArgumentNotNullOrEmpty(orderId, "orderId"); var customerId = visitorContext.GetCustomerId(); var request = new GetVisitorOrderRequest(orderId, customerId, storefront.ShopName); var result = this.OrderServiceProvider.GetVisitorOrder(request); Helpers.LogSystemMessages(result.SystemMessages, result); return new ManagerResponse<GetVisitorOrderResult, CommerceOrder>(result, result.Order as CommerceOrder); }