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"; } }
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); }