Sitecore Commerce Server - получить полный список заказов

У меня есть задача: создать пользовательскую страницу администратора в Sitecore, чтобы показать полную историю заказов. Я нашел способ получить историю заказов на одного посетителя, но не смог найти ничего, чтобы получить полный список заказов.

Чтобы получить список заказов на посетителя, мы можем использовать метод

public virtual GetVisitorOrdersResult GetVisitorOrders(GetVisitorOrdersRequest request);

из класса Sitecore.Commerce.Services.Orders.OrderServiceProviderи сборка: Sitecore.Commerce

Я думаю, что мы можем получить всех пользователей и после этого получать заказы для каждого пользователя. Однако я не думаю, что это лучший способ решить задачу. Буду признателен, если вы посоветуете любой другой способ получить все данные.

Заранее благодарю за помощь.

PS Я использую Sitecore 8.

1 ответ

Решение

Я думаю, что нашел решение

var contextManager = new CommerceServerContextManager();  //using Sitecore.Commerce.Connect.CommerceServer;
OrderManagementContext orderManagementContext = contextManager.OrderManagementContext;
var orderManager = orderManagementContext.PurchaseOrderManager;

CultureInfo culture = new CultureInfo("en-US");
DataSet searchableProperties = orderManager.GetSearchableProperties(culture.ToString());
SearchClauseFactory searchClauseFactory = orderManager.GetSearchClauseFactory(searchableProperties, "PurchaseOrder"); //using CommerceServer.Core; Assembly CommerceServer.Core.CrossTier
SearchClause searchClause = searchClauseFactory.CreateClause(ExplicitComparisonOperator.OnOrAfter, "Created", StartDate);

SearchOptions options = new SearchOptions();
options.SetPaging(10, 1);

var result = orderManager.SearchPurchaseOrders(searchClause, options);

Может быть полезным для кого-то еще.

Другие вопросы по тегам