ebay GetOrders API使用OutputSelector和SortOrder - .Net SDK

时间:2013-09-04 06:41:44

标签: c# .net ebay

我正在使用ebay .Net SDK。除了以下要求外,一切正常:

  1. 使用 OutputSelector 提升效果
  2. 在显示记录时无法使用 SortingOrder
  3. 指定时间范围内的总收入/销售金额,即所有分页调用的总金额,不会循环浏览页面并手动汇总。
  4. 以下是我正在使用的代码:

    var apicall = new GetOrdersCall(context);
    //apicall.ApiRequest.OutputSelector = new StringCollection(new String[] { "Order.OrderID", "Order.Total" });
    apicall.ApiRequest.Pagination = new PaginationType
    {
        EntriesPerPage = Util.RecordsPerPage(),
        PageNumber = int.Parse(Request.Form["pageNumber"])
    };
    var fltr = new TimeFilter(Convert.ToDateTime(Request.Form["dateFrom"] + "T00:00:00.000Z"), Convert.ToDateTime(Request.Form["dateTo"] + "T23:59:59.999Z"));
    var statusCodeType = (OrderStatusCodeType)Enum.Parse(typeof(OrderStatusCodeType), Request.Form["statusCode"]);
    var orders = apicall.GetOrders(fltr, TradingRoleCodeType.Seller, statusCodeType);
    

    请帮助我如何使用这3个功能。

1 个答案:

答案 0 :(得分:0)

经过多方努力,我找到了方法:

var request = new GetOrdersRequestType
{
    //OutputSelector = new StringCollection {"OrderID","Total"},
    CreateTimeFrom = Convert.ToDateTime(Request.Form["dateFrom"] + "T00:00:00.000Z"),
    CreateTimeTo = Convert.ToDateTime(Request.Form["dateTo"] + "T23:59:59.999Z"),
    OrderStatus = (OrderStatusCodeType)Enum.Parse(typeof(OrderStatusCodeType), Request.Form["statusCode"]),
    OrderRole = TradingRoleCodeType.Seller,
    Pagination = new PaginationType
        {
            EntriesPerPage = Util.RecordsPerPage(),
            PageNumber = int.Parse(Request.Form["pageNumber"])
        }
};

var apicall = new GetOrdersCall(context)
    {
        ApiRequest = request,
        OutputSelector =
            new string[]
                {
                    "OrderID", "Total", "PaidTime", "eBayPaymentStatus",
                    "PaymentMethod", "Title", "PageNumber", "PaginationResult.TotalNumberOfPages"
                }
    };

apicall.Execute();
var orders = apicall.ApiResponse.OrderArray;