/// <summary> /// Асинхронное получение списка продуктов. /// </summary> /// <param name="callback">Вызывается с результатом, в случае успеха.</param> /// <param name="onError">Вызывается в случае ошибки</param> public void ProductsListAsync(AsyncResponseCallback <ProductInfo[]> callback, AsyncResponseError onError = null) { if (callback == null) { throw new ArgumentNullException("callback"); } var request = new Request(new string[] { SERVER, "products" }, new string[, ] { }, certificate); if (!string.IsNullOrEmpty(apiKey)) { request.SetAPIKey(apiKey); } var requestInfo = new AsyncArrayHandler <ProductInfo>(ProductInfo.TryBuild, callback, onError); request.GETRequestAsync(requestInfo.OnData); }
/// <summary> /// Асинхронный поиск объектов по адресу. /// </summary> /// <param name="callback">Вызывается с результатом, в случае успеха.</param> /// <param name="onError">Вызывается в случае ошибки</param> public void SearchAsync(string target, AsyncResponseCallback <ObjectBaseInfo[]> callback, AsyncResponseError onError = null) { if (callback == null) { throw new ArgumentNullException("callback"); } var request = new Request(new string[] { SERVER, "search" }, new string[, ] { { "query", target } }, certificate); if (!string.IsNullOrEmpty(apiKey)) { request.SetAPIKey(apiKey); } var requestInfo = new AsyncArrayHandler <ObjectBaseInfo>(ObjectBaseInfo.TryBuild, callback, onError); request.GETRequestAsync(requestInfo.OnData); }
/// <summary> /// Асинхронное получение статуса заказов. /// </summary> /// <param name="callback">Вызывается с результатом, в случае успеха.</param> /// <param name="onError">Вызывается в случае ошибки</param> public void OrdersStatusAsync(string[] ids, AsyncResponseCallback <OrderStatusInfo[]> callback, AsyncResponseError onError = null) { if (callback == null) { throw new ArgumentNullException("callback"); } var list = new string[ids.Length, 2]; if (ids.Length > 1) { for (int i = 0; i < ids.Length; i++) { list[i, 0] = "orderItemID[]"; list[i, 1] = ids[i]; } } else { list[0, 0] = "orderItemID"; list[0, 1] = ids[0]; } var request = new Request(new string[] { SERVER, "orders" }, list, certificate); if (!string.IsNullOrEmpty(apiKey)) { request.SetAPIKey(apiKey); } var requestInfo = new AsyncArrayHandler <OrderStatusInfo>(OrderStatusInfo.TryBuild, callback, onError); request.GETRequestAsync(requestInfo.OnData); }