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();
        }
Example #2
0
        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();
            }
        }
Example #3
0
        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();
        }