Sitecore Commerce Server - 获取完整的订单列表

时间:2016-02-10 14:11:58

标签: sitecore sitecore8 microsoft-commerce-server

我有一项任务:在Sitecore中创建自定义管理页面以显示完整的订单历史记录。我找到了一种方法来获取每位访客的订单记录,但无法找到任何可以获得完整订单列表的内容。

要获得每位访客的订单列表,我们可以使用方法

Sitecore.Commerce.Services.Orders.OrderServiceProvider
来自班级Sitecore.Commerce

和汇编:strip_stags($string, '<img>');

我认为我们可以获得所有用户,然后获得每个用户的订单。但是,我不认为这是解决任务的最佳方式。如果您建议任何其他方式获取所有数据,我将不胜感激。

提前感谢您的帮助。

P.S。我正在使用Sitecore 8。

1 个答案:

答案 0 :(得分: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);

可能对其他人有用。