private async void LoadGames(object sender, RoutedEventArgs e) { // Loading in the game from this site var client = new RestClient("http://cecs475-boardgames.azurewebsites.net/"); var request = new RestRequest("api/games", Method.GET); var response = await client.ExecuteTaskAsync(request); var gameList = JsonConvert.DeserializeObject <List <GameDLL> >(response.Content); if (response.StatusCode == System.Net.HttpStatusCode.NotFound) { MessageBox.Show("Game not found"); } else { WebClient wc = new WebClient(); foreach (var g in gameList) { foreach (var file in g.Files) { await wc.DownloadFileTaskAsync(file.Url, "lib/" + file.FileName); } } } // Create a new GameChoiceWindow GameChoiceWindow gw = new GameChoiceWindow(); gw.Show(); this.Close(); }
private async void Window_Loaded(object sender, RoutedEventArgs e) { var restClient = new RestClient("http://cecs475-boardgames.azurewebsites.net"); var request = new RestRequest("api/games", Method.GET); var task = restClient.ExecuteTaskAsync(request); var response = await task; if (response.StatusCode != System.Net.HttpStatusCode.OK) { MessageBox.Show("There was an error connecting to the games list server... Playing using existing games..."); GameChoiceWindow window = new GameChoiceWindow(); this.Hide(); window.Show(); } else { Game[] games = JsonConvert.DeserializeObject <Game[]>(response.Content); foreach (var game in games) { WebClient client = new WebClient(); await client.DownloadFileTaskAsync(game.Files[0].Url, "lib\\" + game.Files[0].FileName); await client.DownloadFileTaskAsync(game.Files[1].Url, "lib\\" + game.Files[1].FileName); } GameChoiceWindow window = new GameChoiceWindow(); window.Show(); this.Close(); } }
public async void WindowLoad(object sender, RoutedEventArgs x) { var client = new RestClient("http://cecs475-boardgames.azurewebsites.net/"); var request = new RestRequest("api/games", Method.GET); var task = client.ExecuteTaskAsync(request); var response = await task; if (response.StatusCode == System.Net.HttpStatusCode.NotFound) { MessageBox.Show("Not found"); } else { //request = new RestRequest("api/register", Method.POST); string r = response.Content; r = r.Substring(1); r = r.Substring(0, r.Length - 1); var obj = JObject.Parse(r); JToken results = obj.First; results = obj.Last.First; List <string> strList = new List <string>(); List <JToken> things = new List <JToken>() { results.First, results.Last }; foreach (JToken t in things) { JToken token = t.First; do { strList.Add(token.First.ToObject <string>()); token = token.Next; }while (token != null); } for (int i = 0; i < strList.Count(); i++) { string val = strList.ElementAt(i); if (val.Contains("https")) { var web = new WebClient(); var mTask = web.DownloadFileTaskAsync(val, "lib/" + strList.ElementAt(i - 1)); await mTask; } } } var win = new GameChoiceWindow(); this.Close(); win.Show(); }