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(); } } }
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(); }