简体   繁体   English

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

[英]Sitecore Commerce Server - get full order list

I have a task: create a custom admin page in Sitecore to show FULL order history. 我有一个任务:在Sitecore中创建一个自定义管理页面以显示全订单历史记录。 I found a way to get order history per visitor, but couldn't find anything to get a full list of orders. 我找到了一种获取每个访客订单历史记录的方法,但找不到任何东西来获取完整的订单列表。

To get an order list per visitor we can use method 要获得每个访客的订单列表,我们可以使用方法

public virtual GetVisitorOrdersResult GetVisitorOrders(GetVisitorOrdersRequest request);

from class Sitecore.Commerce.Services.Orders.OrderServiceProvider and assembly: Sitecore.Commerce 来自类Sitecore.Commerce.Services.Orders.OrderServiceProvider和程序集: Sitecore.Commerce

I think we can get all users and after that get orders for each user. 我认为我们可以吸引所有用户,然后获得每个用户的订单。 However, I don't think that it is a best way to solve the task. 但是,我认为这不是解决任务的最佳方法。 I will appreciate if you advice any other way to get all data. 如果您提出任何其他获取所有数据的方法,我将不胜感激。

Thank you in advance for the help. 预先感谢您的帮助。

PS I am using Sitecore 8. PS我正在使用Sitecore 8。

I think I found the solution 我想我找到了解决方案

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

Might be useful for somebody else. 可能对其他人有用。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM