从magento api soap我试图加载有关订单的信息(即发货地址)但是需要一段时间才能使网格充满数据。所以现在我尝试使用magento异步方法,但我无法弄清楚如何设置它。能否请您指出任何信息或查看代码并指出我所犯的错误?这是我到目前为止所得到的:
public void FillFlexGrird(string warehouse, C1FlexGrid grid)
{
try
{
salesOrderListEntity[] sole = _mageService.salesOrderList(_sessionKey, magentoFilter("status", "eq", "processing", warehouse));
salesOrderEntity info;
foreach (salesOrderListEntity msole in sole)
{
GetOrderInfo(msole.increment_id);
//Application.DoEvents();
int count = grid.Rows.Count;
grid.Rows.Count++;
//info = _mageService.salesOrderInfo(_sessionKey, msole.increment_id);
salesOrderAddressEntity shipTo = info.shipping_address;
grid[count, 1] = msole.increment_id;
grid[count, 2] = msole.shipping_name;
grid[count, 3] = shipTo.company;
grid[count, 4] = shipTo.street;
grid[count, 5] = msole.postcode;
grid[count, 6] = shipTo.city;
grid[count, 7] = shipTo.region;
grid[count, 8] = shipTo.country_id;
grid[count, 9] = msole.weight;
grid[count, 10] = msole.grand_total;
grid[count, 11] = msole.shipping_description;
}
}
catch (Exception ex)
{
MessageBox.Show("Error retieving orders: " + ex.Message);
}
}
private async void GetOrderInfo(string orderID)
{
await Program.MagentoService._mageService.salesOrderInfoAsync(Program.MagentoService._sessionKey, orderID);
}