public static void MoveGamesToOtherDeckWithDialog(DependencyObject parent, params GameStats[] games) { if(games == null) return; var window = Helper.GetParentWindow(parent); if(window == null) return; var heroes = new Dictionary<string, int>(); foreach(var game in games) { if(!heroes.ContainsKey(game.PlayerHero)) heroes.Add(game.PlayerHero, 0); heroes[game.PlayerHero]++; } var heroPlayed = heroes.Any() ? heroes.OrderByDescending(x => x.Value).First().Key : "Any"; var possibleTargets = DeckList.Instance.Decks.Where(d => d.Class == heroPlayed || heroPlayed == "Any"); var dialog = new MoveGameDialog(possibleTargets) {Owner = window}; dialog.ShowDialog(); if(dialog.SelectedDeck == null) return; MoveGamesToOtherDeckWithoutConfirmation(dialog.SelectedDeck, dialog.SelectedVersion, games); }
public static void MoveGamesToOtherDeckWithDialog(DependencyObject parent, params GameStats[] games) { if (games == null) { return; } var window = Helper.GetParentWindow(parent); if (window == null) { return; } var heroes = new Dictionary <string, int>(); foreach (var game in games) { if (!heroes.ContainsKey(game.PlayerHero)) { heroes.Add(game.PlayerHero, 0); } heroes[game.PlayerHero]++; } var heroPlayed = heroes.Any() ? heroes.OrderByDescending(x => x.Value).First().Key : "Any"; var possibleTargets = DeckList.Instance.Decks.Where(d => d.Class == heroPlayed || heroPlayed == "Any"); var dialog = new MoveGameDialog(possibleTargets) { Owner = window }; dialog.ShowDialog(); if (dialog.SelectedDeck == null) { return; } MoveGamesToOtherDeckWithoutConfirmation(dialog.SelectedDeck, dialog.SelectedVersion, games); }