private async void DoLoadSessions(string sessionsURL, DidLoadSessionsCallback Callback) { try { HttpWebRequest request = WebRequest.Create(sessionsURL) as HttpWebRequest; HttpWebResponse response = await request.GetResponseAsync() as HttpWebResponse; if (response.StatusCode != HttpStatusCode.OK) { throw new Exception("Received error response from server"); } using (var reader = new StreamReader(response.GetResponseStream(), System.Text.UTF8Encoding.UTF8)) { var definition = new { sessions = new List <Session>() }; string responseText = await reader.ReadToEndAsync(); var parsedResponse = JsonConvert.DeserializeAnonymousType(responseText, definition); var sortedSessions = from session in parsedResponse.sessions orderby session.year descending, session.id ascending select session; sessions = sortedSessions.ToList(); Callback(); } } catch (Exception e) { Callback("Unable to download or parse sessions file.\n" + e.ToString()); } }
public async void LoadSessions(DidLoadSessionsCallback Callback) { try { HttpWebRequest request = WebRequest.Create(configurationURL) as HttpWebRequest; HttpWebResponse response = await request.GetResponseAsync() as HttpWebResponse; if (response.StatusCode != HttpStatusCode.OK) { throw new Exception("Received error response from config server"); } using (var reader = new StreamReader(response.GetResponseStream(), System.Text.UTF8Encoding.UTF8)) { var definition = new { sessions = "", url = "", wwdc_week = false }; string responseText = await reader.ReadToEndAsync(); var configuration = JsonConvert.DeserializeAnonymousType(responseText, definition); DoLoadSessions(configuration.url, Callback); } } catch (Exception e) { Callback("Unable to download or parse configuration file.\n" + e.ToString()); } }