Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
        /// <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);
        }