public async Task <List <UgMinor> > GetAllMinor() { using (var client = new HttpClient()) { client.BaseAddress = new Uri("http://www.ist.rit.edu/"); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); try { HttpResponseMessage response = await client.GetAsync("api/minors/UgMinors", HttpCompletionOption.ResponseHeadersRead); response.EnsureSuccessStatusCode(); var data = await response.Content.ReadAsStringAsync(); var rtnResults = JsonConvert.DeserializeObject <Dictionary <string, List <UgMinor> > >(data); List <UgMinor> minorList = new List <UgMinor>(); UgMinor minor = new UgMinor(); foreach (KeyValuePair <string, List <UgMinor> > kvp in rtnResults) { foreach (var item in kvp.Value) { minorList.Add(item); } } return(minorList); } catch (HttpRequestException hre) { var msg = hre.Message; List <UgMinor> minorList = new List <UgMinor>(); return(minorList); //return "HttpRequestException"; } catch (Exception ex) { var msg = ex.Message; List <UgMinor> minorList = new List <UgMinor>(); return(minorList); //return "Exception"; ; } } }
public Minors initializeMinors() { Minors minors = new Minors(); try { using (var client = new HttpClient()) { string uri = $"http://ist.rit.edu/api/minors"; var response = client.GetAsync(uri).Result; var content = response.Content.ReadAsStringAsync().Result; dynamic item = Newtonsoft.Json.JsonConvert.DeserializeObject(content); var minor_resp = item.UgMinors; foreach (var single_minor in minor_resp) { UgMinor ugm = new UgMinor(); ugm.name = single_minor.name; ugm.title = single_minor.title; ugm.description = single_minor.description; ugm.note = single_minor.note; var minors_courses = single_minor.courses; List <String> courses = new List <string>(); foreach (var course in minors_courses) { courses.Add(course.Value); } ugm.courses = courses; minors.UgMinors.Add(ugm); } } return(minors); } catch (Exception exx) { return(null); } }