Example #1
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);
        }
Example #2
0
 public AsyncObjectHandler(Utility.TryObjectBuild <T> builder, AsyncResponseCallback <T> callback, AsyncResponseError onError)
 {
     this.callback = callback;
     this.onError  = onError;
     this.builder  = builder;
 }
Example #3
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);
        }
Example #4
0
        /// <summary>
        /// Асинхронное получение информации об объекте.
        /// </summary>
        /// <param name="callback">Вызывается с результатом, в случае успеха.</param>
        /// <param name="onError">Вызывается в случае ошибки</param>
        public void GetObjectInfoAsync(string cadastralNumber, AsyncResponseCallback <ObjectData> callback, AsyncResponseError onError = null)
        {
            if (callback == null)
            {
                throw new ArgumentNullException("callback");
            }

            var request = new Request(new string[] {
                SERVER,
                "object",
                cadastralNumber
            }, new string[, ] {
            }, certificate);

            if (!string.IsNullOrEmpty(apiKey))
            {
                request.SetAPIKey(apiKey);
            }

            var requestInfo = new AsyncObjectHandler <ObjectData>(ObjectData.TryBuild, callback, onError);

            request.GETRequestAsync(requestInfo.OnData);
        }
Example #5
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);
        }
Example #6
0
        /// <summary>
        /// Асинхронное создание запроса продукты.
        /// </summary>
        /// <param name="callback">Вызывается с результатом, в случае успеха.</param>
        /// <param name="onError">Вызывается в случае ошибки</param>
        public void CreateOrderAsync(OrderRequest order, AsyncResponseCallback <OrderInfo> callback, AsyncResponseError onError = null)
        {
            if (callback == null)
            {
                throw new ArgumentNullException("callback");
            }

            var request = new Request(new string[] {
                SERVER,
                "order"
            }, new string[, ] {
            }, certificate);

            if (!string.IsNullOrEmpty(apiKey))
            {
                request.SetAPIKey(apiKey);
            }

            var requestInfo = new AsyncObjectHandler <OrderInfo>(OrderInfo.TryBuild, callback, onError);

            request.POSTRequestAsync(Encoding.UTF8.GetBytes(JSON.ToString(order.ToObject())), requestInfo.OnData);
        }