【问题标题】:Sitecore Commerce Server - get full order listSitecore Commerce Server - 获取完整的订单列表
【发布时间】:2016-02-10 14:11:57
【问题描述】:

我有一个任务:在 Sitecore 中创建一个自定义管理页面以显示完整的订单历史记录。我找到了一种获取每个访问者的订单历史记录的方法,但找不到任何东西来获取完整的订单列表。

要获取每个访问者的订单列表,我们可以使用方法

public virtual GetVisitorOrdersResult GetVisitorOrders(GetVisitorOrdersRequest request);

来自班级Sitecore.Commerce.Services.Orders.OrderServiceProvider 和组装:Sitecore.Commerce

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

提前感谢您的帮助。

附:我正在使用 Sitecore 8。

【问题讨论】:

  • 我想你的答案可能就在这个函数里。只是一个猜测。 github.com/Sitecore/Reference-Storefront/blob/…
  • 感谢您的评论。我查看了 Storefront 示例。我需要一个不同的功能,我想我找到了(如果你有兴趣,请看我下面的答案)。

标签: sitecore sitecore8 microsoft-commerce-server


【解决方案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);

可能对其他人有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-01
    • 2018-06-03
    • 2022-12-16
    • 2012-12-15
    相关资源
    最近更新 更多