Esempio n. 1
0
        private async Task request(
            RequestType requestType,
            string requestUri,
            KeyValuePair <string, string>[] keysValue,
            Action <NetworkResponse> cbSuccessSent = null,
            Action <string> cbError = null
            )
        {
            try {
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(UserInfoManager.getInstance().userInfo.type, UserInfoManager.getInstance().userInfo.token);

                var content = new FormUrlEncodedContent(keysValue);
                HttpResponseMessage result;
                switch (requestType)
                {
                case RequestType.Post:
                    result = await client.PostAsync(requestUri, content);

                    break;

                case RequestType.Put:
                    result = await client.PutAsync(requestUri, content);

                    break;

                case RequestType.Delete:
                    result = await client.DeleteAsync(requestUri);

                    break;

                default:
                    result = await client.GetAsync(requestUri);

                    break;
                }
                if (result.IsSuccessStatusCode)
                {
                    string resultContent = await result.Content.ReadAsStringAsync();

                    var jsonObject    = (JObject)JsonConvert.DeserializeObject(resultContent);
                    var networkResult = new NetworkResponse()
                    {
                        Successful       = jsonObject["Successful"].Value <bool>(),
                        Data             = jsonObject["Data"] as JContainer,
                        ErrorDescription = jsonObject["ErrorDescription"].Value <string>(),
                        ErrorMessage     = jsonObject["ErrorMessage"].Value <string>(),
                        ErrorCode        = jsonObject["ErrorCode"].Value <string>()
                    };
                    cbSuccessSent?.Invoke(networkResult);
                }
                else
                {
                    cbError?.Invoke("err:" + result.StatusCode.ToString());
                }
            } catch (Exception ex) {
                cbError?.Invoke(ex.ToString());
                Debug.WriteLine("ex: " + ex);
            }
        }
Esempio n. 2
0
        private async Task requestJson(
            RequestType requestType,
            string requestUri,
            object obj,
            Action <NetworkResponse> cbSuccessSent = null,
            Action <string> cbError = null
            )
        {
            try {
                var content = new StringContent(JsonConvert.SerializeObject(obj).ToString(), Encoding.UTF8, "application/json");
                HttpResponseMessage result;
                switch (requestType)
                {
                case RequestType.Post:
                    result = await client.PostAsync(requestUri, content);

                    break;

                case RequestType.Put:
                    result = await client.PutAsync(requestUri, content);

                    break;

                case RequestType.Delete:
                    result = await client.DeleteAsync(requestUri);

                    break;

                default:
                    result = await client.GetAsync(requestUri);

                    break;
                }
                if (result.IsSuccessStatusCode)
                {
                    string resultContent = await result.Content.ReadAsStringAsync();

                    var jsonObject    = (JObject)JsonConvert.DeserializeObject(resultContent);
                    var networkResult = new NetworkResponse()
                    {
                        Successful = jsonObject["Successful"].Value <bool>(),
                        Data       = jsonObject["Data"] as JContainer,
                        //ErrorDescription = jsonObject["ErrorDescription"].Value<string>(),
                        //ErrorMessage = jsonObject["ErrorMessage"].Value<string>(),
                        //ErrorCode = jsonObject["ErrorCode"].Value<string>()
                    };
                    cbSuccessSent?.Invoke(networkResult);
                }
                else
                {
                    cbError?.Invoke("err:" + result.StatusCode.ToString());
                }
            } catch (Exception ex) {
                cbError?.Invoke(ex.ToString());
                Debug.WriteLine("ex: " + ex);
            }
        }
Esempio n. 3
0
        async public Task UploadImage(
            string requestUri,
            byte[] ImageData,
            Action <NetworkResponse> cbSuccessSent = null,
            Action <string> cbError = null)
        {
            try {
                var requestContent = new MultipartFormDataContent();
                //    here you can specify boundary if you need---^
                var imageContent = new ByteArrayContent(ImageData);
                imageContent.Headers.ContentType =
                    MediaTypeHeaderValue.Parse("image/jpeg");

                requestContent.Add(imageContent, "image", "image.jpg");

                var result = await client.PostAsync(requestUri, requestContent);

                if (result.IsSuccessStatusCode)
                {
                    string resultContent = await result.Content.ReadAsStringAsync();

                    var jsonObject    = (JObject)JsonConvert.DeserializeObject(resultContent);
                    var networkResult = new NetworkResponse()
                    {
                        Successful       = jsonObject["Successful"].Value <bool>(),
                        Data             = JToken.FromObject(jsonObject["Data"].ToString()),
                        ErrorDescription = jsonObject["ErrorDescription"].Value <string>(),
                        ErrorMessage     = jsonObject["ErrorMessage"].Value <string>(),
                        ErrorCode        = jsonObject["ErrorCode"].Value <string>()
                    };
                    cbSuccessSent?.Invoke(networkResult);
                }
                else
                {
                    cbError?.Invoke("err:" + result.StatusCode.ToString());
                }
            }
            catch (Exception ex) {
                cbError?.Invoke(ex.ToString());
                Debug.WriteLine("ex: " + ex);
            }
        }