private void BtnDeleteCard_Click(object sender, RoutedEventArgs e)
        {
            if (DataGridSelectedDeck.SelectedItem is CardListViewDeck)
            {
                CardListViewDeck card   = DataGridSelectedDeck.SelectedItem as CardListViewDeck;
                MessageBoxResult result = MessageBox.Show($"Are you sure you want to delete {card.Name}?", "Warning",
                                                          MessageBoxButton.YesNoCancel);

                if (result == MessageBoxResult.Yes)
                {
                    Deck deckToEdit   = Database.CurrentDecks.First(x => x.Name == _selectedDeck.Name);
                    Card cardToRemove = deckToEdit.GetCards().Keys.First(x => x.Name == card.Name);
                    deckToEdit.CardDbfIds.TryGetValue(cardToRemove.DbfId, out int quantity);
                    if (quantity > 1)
                    {
                        deckToEdit.CardDbfIds[cardToRemove.DbfId] = 1;
                    }
                    else
                    {
                        deckToEdit.CardDbfIds.Remove(cardToRemove.DbfId);
                    }

                    RefreshDecklist();
                    InitialiseSelectedDeck();
                }
            }
        }
 private void DataGridSelectedDeck_MouseDoubleClick(object sender, MouseButtonEventArgs e)
 {
     if (DataGridSelectedDeck.SelectedItem is CardListViewDeck)
     {
         CardListViewDeck card       = DataGridSelectedDeck.SelectedItem as CardListViewDeck;
         Card             cardToShow = _selectedDeck.GetCards().Keys.FirstOrDefault(x => x.Name == card.Name);
         ShowCardDetails(cardToShow);
         LblCardInformation.Text = "Card Information - Deck";
     }
 }
Example #3
0
        public static List <CardListViewDeck> GetCardListViewDeckFromDeck(Deck deck)
        {
            List <CardListViewDeck> ret = new List <CardListViewDeck>();

            foreach (var card in deck.GetCards())
            {
                CardListViewDeck cardListView = new CardListViewDeck
                {
                    Name     = card.Key.Name,
                    Cost     = card.Key.Cost.ToString(),
                    Quantity = card.Value
                };

                ret.Add(cardListView);
            }

            return(ret);
        }