Sitecore Commerce Server - 获取完整的订单列表
Sitecore Commerce Server - get full order list
我有一个任务:在 Sitecore 中创建一个自定义管理页面以显示完整的订单历史记录。我找到了一种获取每位访问者的订单历史记录的方法,但找不到任何东西来获取完整的订单列表。
要获取每个访问者的订单列表,我们可以使用方法
public virtual GetVisitorOrdersResult GetVisitorOrders(GetVisitorOrdersRequest request);
来自 class Sitecore.Commerce.Services.Orders.OrderServiceProvider
和装配:Sitecore.Commerce
我想我们可以获取所有用户,然后获取每个用户的订单。但是,我认为这不是解决任务的最佳方法。如果您建议任何其他方式来获取所有数据,我将不胜感激。
提前感谢您的帮助。
P.S。我正在使用 Sitecore 8。
我想我找到了解决方案
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);
可能对其他人有用。
我有一个任务:在 Sitecore 中创建一个自定义管理页面以显示完整的订单历史记录。我找到了一种获取每位访问者的订单历史记录的方法,但找不到任何东西来获取完整的订单列表。
要获取每个访问者的订单列表,我们可以使用方法
public virtual GetVisitorOrdersResult GetVisitorOrders(GetVisitorOrdersRequest request);
来自 class Sitecore.Commerce.Services.Orders.OrderServiceProvider
和装配:Sitecore.Commerce
我想我们可以获取所有用户,然后获取每个用户的订单。但是,我认为这不是解决任务的最佳方法。如果您建议任何其他方式来获取所有数据,我将不胜感激。
提前感谢您的帮助。
P.S。我正在使用 Sitecore 8。
我想我找到了解决方案
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);
可能对其他人有用。