public static bool AutoImportArena(ArenaImportingBehaviour behaviour, ArenaInfo info = null) { var deck = info ?? DeckImporter.FromArena(); if (deck?.Deck.Cards.Sum(x => x.Count) != 30) { return(false); } Log.Info($"Found new complete {deck.Deck.Hero} arena deck!"); var recentArenaDecks = DeckList.Instance.Decks.Where(d => d.IsArenaDeck && d.Cards.Sum(x => x.Count) == 30).OrderByDescending( d => d.LastPlayedNewFirst).Take(15); if (recentArenaDecks.Any(d => d.Cards.All(c => deck.Deck.Cards.Any(c2 => c.Id == c2.Id && c.Count == c2.Count)))) { Log.Info("...but we already have that one. Discarding."); } else if (Core.Game.IgnoredArenaDecks.Contains(deck.Deck.Id)) { Log.Info("...but it was already discarded by the user. No automatic action taken."); } else if (behaviour == ArenaImportingBehaviour.AutoAsk) { MessageDialogs.ShowNewArenaDeckMessageAsync(Core.MainWindow, deck.Deck); return(true); } else if (behaviour == ArenaImportingBehaviour.AutoImportSave) { Log.Info("...auto saving new arena deck."); Core.MainWindow.ImportArenaDeck(deck.Deck); return(true); } return(false); }