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)); }
/// <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 }; }