internal void AddCard(CardInstance value, int qty) { if (value == null) { return; } foreach (var ci in CardsCollection.Where(ci => ci.BorderBrush != null)) { ci.BorderBrush = null; } var card = CardsCollection.Where(ci => ci.CardId == value.CardId).FirstOrDefault(); if (card != null) { card.Quantity += qty; //if already in deck, inc qty card.BorderBrush = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 255, 100, 15)); } else { card = value; card.BorderBrush = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Color.FromArgb(255, 255, 100, 15)); card.Quantity = qty; CardsCollection.Add(card); } if (LimitCardCount) { trackerFactory.GetService <IDeckService>().EnforceCardLimit(card); } NewCard = null; }