0

タスクがあります。Sitecore でカスタム管理ページを作成して、完全な注文履歴を表示します。訪問者ごとに注文履歴を取得する方法を見つけましたが、注文の完全なリストを取得する方法が見つかりませんでした。

訪問者ごとの注文リストを取得するには、メソッドを使用できます

public virtual GetVisitorOrdersResult GetVisitorOrders(GetVisitorOrdersRequest request);

クラスSitecore.Commerce.Services.Orders.OrderServiceProvider とアセンブリから:Sitecore.Commerce

すべてのユーザーを取得し、その後、各ユーザーの注文を取得できると思います。ただし、それがタスクを解決する最善の方法だとは思いません。すべてのデータを取得する他の方法をアドバイスしていただければ幸いです。

助けてくれてありがとう。

PS Sitecore 8 を使用しています。

4

1 に答える 1

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

他の誰かに役立つかもしれません。

于 2016-02-11T08:23:35.470 に答える