using MyModels; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Net.Http; using System.Net.Http.Headers; using System.Net.Http.Formatting; using System.Threading.Tasks; using sf1.Models; namespace sf1.Helper { public class HttpClientHelper { string apikey = ""; public class DataStore { //public T Data { get; set; } public string daten { get; set; } public bool resultstatus { get; set; } public string resultstatuscode { get; set; } } public HttpResponseMessage ResponsTask; public HttpResponseMessage ResponsResult; public DataStore Results = new DataStore(); string uri = ""; public HttpClientHelper() { Helper.ParameterHelper ph = new Helper.ParameterHelper(); uri = ph.GetParameter("API"); apikey = ph.GetParameter("ApiKey"); } public void CallService(string api, string key, string fnkt, Object daten) { HttpClient client = new HttpClient(); client.BaseAddress = new Uri(uri); client.DefaultRequestHeaders.Add("ApiKey", apikey); switch (fnkt) { case "GET": if (key!="") { api = api+ "/" + key; } var responseTask = client.GetAsync(api); responseTask.Wait(); var result = responseTask.Result; Results.resultstatus = responseTask.IsCompletedSuccessfully; if (result.IsSuccessStatusCode) { var readTask = result.Content.ReadAsStringAsync(); readTask.Wait(); //DataStore ds = new DataStore(); Results.daten = readTask.Result; break; } break; case "PUT": if (key != "") { api = api+ "/" + key; } var response = client.PutAsJsonAsync(api, daten).Result; Results.resultstatuscode = response.StatusCode.ToString(); break; case "POST": var postresponse = client.PostAsJsonAsync(api, daten).Result; Results.resultstatuscode = postresponse.StatusCode.ToString(); break; case "DELETE": if (key != "") { api = api + "/" + key; } var deleteresponse = client.DeleteAsync(api).Result; Results.resultstatuscode = deleteresponse.StatusCode.ToString(); break; default: break; } // var responseTask = client.GetAsync("user"); //responseTask.Wait(); //var result = responseTask.Result; //if (result.IsSuccessStatusCode) //{ // var readTask = result.Content.ReadAsStringAsync(); // readTask.Wait(); // DataStore ds = new DataStore(); // ds.Data = readTask; //} //else //{ //} } } }