Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用OutputSelector和SortOrder-.Net SDK的易趣GetOrders API_C#_.net_Ebay Api - Fatal编程技术网

C# 使用OutputSelector和SortOrder-.Net SDK的易趣GetOrders API

C# 使用OutputSelector和SortOrder-.Net SDK的易趣GetOrders API,c#,.net,ebay-api,C#,.net,Ebay Api,我正在使用易趣.Net SDK。除以下要求外,一切正常: 使用输出选择器提高性能 显示记录时无法使用排序顺序 指定时间范围内的总收入/售出金额,即分页的所有调用中的总金额,无需通过页面循环并手动聚合 以下是我正在使用的代码: var apicall = new GetOrdersCall(context); //apicall.ApiRequest.OutputSelector = new StringCollection(new String[] { "Order.OrderID", "Ord

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

  • 使用输出选择器提高性能
  • 显示记录时无法使用排序顺序
  • 指定时间范围内的总收入/售出金额,即分页的所有调用中的总金额,无需通过页面循环并手动聚合
  • 以下是我正在使用的代码:

    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项功能。

    经过努力,我找到了实现这3项功能的方法:

    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;
    

    我知道这是旧的…但当使用分页。如果有超过1页的结果。你是如何进入下一页的?你必须把整个请求再做一遍吗?