Exemplo n.º 1
0
        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());
            }
        }
Exemplo n.º 2
0
        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());
            }
        }