Esempio n. 1
0
        private void GameResultToast_OnUnloaded(object sender, RoutedEventArgs e)
        {
            if (!_edited)
            {
                return;
            }
            DeckStatsList.Save();
            if (!Config.Instance.HearthStatsAutoUploadNewGames || !HearthStatsAPI.IsLoggedIn)
            {
                return;
            }
            var deck = DeckList.Instance.Decks.FirstOrDefault(d => d.DeckId == _game.DeckId);

            if (deck == null)
            {
                return;
            }
            if (_game.HasHearthStatsId)
            {
                if (_game.GameMode == GameMode.Arena)
                {
                    HearthStatsManager.UpdateArenaMatchAsync(_game, deck, true, true);
                }
                else
                {
                    HearthStatsManager.UpdateMatchAsync(_game, deck.GetVersion(_game.PlayerDeckVersion), true, true);
                }
            }
            else
            {
                if (_game.GameMode == GameMode.Arena)
                {
                    HearthStatsManager.UploadArenaMatchAsync(_game, deck, true, true).Forget();
                }
                else
                {
                    HearthStatsManager.UploadMatchAsync(_game, deck.GetVersion(_game.PlayerDeckVersion), true, true).Forget();
                }
            }
        }
Esempio n. 2
0
        private async void EditGame(GameStats game)
        {
            if (game == null)
            {
                return;
            }

            var dialog = new AddGameDialog(game);
            await
            Helper.MainWindow.ShowMetroDialogAsync(dialog,
                                                   new MetroDialogSettings { AffirmativeButtonText = "save", NegativeButtonText = "cancel" });

            var result = await dialog.WaitForButtonPressAsync();

            await Helper.MainWindow.HideMetroDialogAsync(dialog);

            if (result == null)            //cancelled
            {
                return;
            }
            Refresh();
            if (Config.Instance.HearthStatsAutoUploadNewGames && HearthStatsAPI.IsLoggedIn)
            {
                var deck = DeckList.Instance.Decks.FirstOrDefault(d => d.DeckId == game.DeckId);
                if (deck != null)
                {
                    if (game.GameMode == GameMode.Arena)
                    {
                        HearthStatsManager.UpdateArenaMatchAsync(game, deck, true, true);
                    }
                    else
                    {
                        HearthStatsManager.UpdateMatchAsync(game, deck.GetVersion(game.PlayerDeckVersion), true, true);
                    }
                }
            }
            DeckStatsList.Save();
            Helper.MainWindow.DeckPickerList.UpdateDecks();
        }
 private void StoryboardFadeOut_OnCompleted(object sender, EventArgs e)
 {
     if (_edited)
     {
         DeckStatsList.Save();
         if (Config.Instance.HearthStatsAutoUploadNewGames && HearthStatsAPI.IsLoggedIn)
         {
             var deck = DeckList.Instance.Decks.FirstOrDefault(d => d.DeckId == _game.DeckId);
             if (deck != null)
             {
                 if (_game.HasHearthStatsId)
                 {
                     if (_game.GameMode == GameMode.Arena)
                     {
                         HearthStatsManager.UpdateArenaMatchAsync(_game, deck, true, true);
                     }
                     else
                     {
                         HearthStatsManager.UpdateMatchAsync(_game, deck.GetVersion(_game.PlayerDeckVersion), true, true);
                     }
                 }
                 else
                 {
                     if (_game.GameMode == GameMode.Arena)
                     {
                         HearthStatsManager.UploadArenaMatchAsync(_game, deck, true, true).Forget();
                     }
                     else
                     {
                         HearthStatsManager.UploadMatchAsync(_game, deck.GetVersion(_game.PlayerDeckVersion), true, true).Forget();
                     }
                 }
             }
         }
     }
     Close();
 }