Exemplo n.º 1
0
        public static async Task <JsonBasicResult <T> > MultipartUpload <T>(string uri, Dictionary <string, string> dict) where T : new()
        {
            try
            {
                string boundary = "-------" + DateTime.Now.Ticks.ToString("x") + "--";

                using (var formContent = new MultipartFormDataContent(boundary))
                {
                    foreach (var d in dict)
                    {
                        if (!string.IsNullOrEmpty(d.Value))
                        {
                            formContent.Add(new StringContent(d.Value), d.Key);
                        }
                    }

                    App.client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("multipart/form-data"));

                    string json_data = await App.client.PostAsync(Globals.baseURL + uri, formContent).Result.Content.ReadAsStringAsync();

                    App.client.DefaultRequestHeaders.Accept.Clear();

                    if (!string.IsNullOrEmpty(json_data))
                    {
                        JsonBasicResult <T> json = JsonConvert.DeserializeObject <JsonBasicResult <T> >(json_data);

                        if (json.ok)
                        {
                            if (json.data != null)
                            {
                                //T updated = json.data;
                                return(new JsonBasicResult <T>(true, json.data, ""));
                            }
                            else
                            {
                                return(new JsonBasicResult <T>(true, new T(), ""));
                            }
                        }
                        else
                        {
                            throw new Exception(json.message);
                        }
                    }
                    else
                    {
                        throw new Exception("No result data!");
                    }
                }
            }
            catch (Exception e)
            {
                ShowErrorMessageDialog(e);

                return(new JsonBasicResult <T>(false, new T(), ErrorMessage(e)));
            }
        }
Exemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="uri">URI end path (echinacareers.com/controller/ base URL is added inside method. Do not include here)</param>
        /// <param name="dict">query parameters</param>
        /// <returns></returns>
        public static async Task <JsonBasicResult <T> > PostItem <T>(string uri, Dictionary <string, string> dict) where T : new()
        {
            try
            {
                var stringPayload = JsonConvert.SerializeObject(dict);

                var content = new StringContent(stringPayload, Encoding.UTF8, "application/json");

                App.client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                string json_data = await App.client.PostAsync(Globals.baseURL + uri, content).Result.Content.ReadAsStringAsync();

                App.client.DefaultRequestHeaders.Accept.Clear();

                if (!string.IsNullOrEmpty(json_data))
                {
                    JsonBasicResult <T> json = JsonConvert.DeserializeObject <JsonBasicResult <T> >(json_data);

                    if (json.ok)
                    {
                        if (json.data != null)
                        {
                            //T updated = json.data;
                            return(new JsonBasicResult <T>(true, json.data, ""));
                        }
                        else
                        {
                            return(new JsonBasicResult <T>(true, new T(), ""));
                        }
                    }
                    else
                    {
                        throw new Exception(json.message);
                    }
                }
                else
                {
                    throw new Exception("No result data!");
                }
            }
            catch (Exception e)
            {
                ShowErrorMessageDialog(e);

                return(new JsonBasicResult <T>(false, new T(), ErrorMessage(e)));
            }
        }