public ManagerResponse <GetVisitorOrdersResult, OrderHeader[]> GetVisitorOrders( string customerId, string shopName, DateTime?fromDate, DateTime?untilDate, int page, int count) { var getVisitorOrdersRequest = new GetVisitorOrdersRequest(customerId, shopName); GetVisitorOrdersResult visitorOrders = this.orderServiceProvider.GetVisitorOrders(getVisitorOrdersRequest); if (visitorOrders.OrderHeaders == null) { return(new ManagerResponse <GetVisitorOrdersResult, OrderHeader[]>(visitorOrders, new OrderHeader[0])); } IEnumerable <OrderHeader> query = visitorOrders.OrderHeaders; if (fromDate != null) { query = query.Where(x => x.OrderDate >= fromDate); } if (untilDate != null) { query = query.Where(oh => oh.OrderDate <= untilDate); } OrderHeader[] array = query .Skip(page * count) .Take(count) .ToArray(); return(new ManagerResponse <GetVisitorOrdersResult, OrderHeader[]>(visitorOrders, array)); }
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); }
/// <summary> /// Initializes a new instance of the <see cref="GetOrdersTest"/> class. /// </summary> public GetOrdersTest() { this.orderId = 1; this.customerId = 1; this.customerGuid = Guid.NewGuid(); this.request = new GetVisitorOrdersRequest(this.customerGuid.ToString(), "NopShop"); this.result = new GetVisitorOrdersResult(); 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 GetOrders { ClientFactory = clientFactory }; }