コード例 #1
0
 public void GetResponseAsync(AsyncResponseCallback callback, object state)
 {
     if (!this.busy)
     {
         this.busy = true;
         HttpWebRequestState internalState = new HttpWebRequestState(this.request, callback, state);
         ThreadPool.QueueUserWorkItem(DoGetResponse, internalState);
     }
 }
コード例 #2
0
 public void GetResponseAsync(AsyncResponseCallback callback, object state)
 {
     if (!this.busy)
     {
         this.busy = true;
         HttpWebRequestState internalState = new HttpWebRequestState(this.request, callback, state);
         ThreadPool.QueueUserWorkItem(DoGetResponse, internalState);
     }
 }
コード例 #3
0
            public HttpWebRequestState(HttpWebRequest request, AsyncResponseCallback callback, object state)

            {
                this.Request = request;

                this.Callback = callback;

                this.State = state;
            }
コード例 #4
0
ファイル: Request.cs プロジェクト: Xytabich/Realty-Cloud-API
 public void GETRequestAsync(AsyncResponseCallback callback)
 {
     if (callback == null)
     {
         throw new ArgumentNullException("callback");
     }
     request.BeginGetResponse(OnResponse, new ResponseInfo()
     {
         callback = callback, responseCode = HttpStatusCode.OK
     });
 }
コード例 #5
0
ファイル: Request.cs プロジェクト: Xytabich/Realty-Cloud-API
        public void POSTRequestAsync(byte[] data, AsyncResponseCallback callback)
        {
            if (callback == null)
            {
                throw new ArgumentNullException("callback");
            }

            request.Method        = "POST";
            request.ContentType   = "application/json";
            request.ContentLength = data.Length;
            request.BeginGetRequestStream(OnRequetStream, new RequestInfo()
            {
                data = data, callback = callback
            });
        }
コード例 #6
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);
        }
コード例 #7
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);
        }
コード例 #8
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);
        }
コード例 #9
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);
        }
コード例 #10
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);
        }
コード例 #11
0
 public HttpWebRequestState(HttpWebRequest request, AsyncResponseCallback callback, object state)
 {
     this.Request = request;
     this.Callback = callback;
     this.State = state;
 }
コード例 #12
0
 public AsyncObjectHandler(Utility.TryObjectBuild <T> builder, AsyncResponseCallback <T> callback, AsyncResponseError onError)
 {
     this.callback = callback;
     this.onError  = onError;
     this.builder  = builder;
 }