public async Task Save() { if (SelectedArenaSession == null) { return; } var arena = SelectedArenaSession; var changeGameHeroes = false; if (arena.Hero != null && Hero.Id != arena.Hero.Id) { if (MessageBox.Show( "Changing arena hero, will change the hero for all games in this arena.\nAre you sure you want to save?", "Change arena hero?", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.Yes) == MessageBoxResult.No) { return; } changeGameHeroes = true; } arena.Hero = Hero; arena.StartDate = Started; arena.EndDate = Ended; arena.Retired = Retired; arena.Losses = Losses; arena.Wins = Wins; arena.RewardDust = RewardDust; arena.RewardGold = RewardGold; arena.RewardPacks = RewardPacks; arena.Notes = Notes; arena.Server = SelectedServer.Name; await gameManager.UpdateArenaSession(SelectedArenaSession); if (changeGameHeroes) { foreach (var game in SelectedArenaSession.Games) { game.Hero = Hero; await gameManager.UpdateGame(game); } } InitLatest(); InitViewModel(SelectedArenaSession); events.PublishOnBackgroundThread(new SendNotification("Arena successfully saved.")); }