// GET: Deck/DeckDetail //CHANGE PARAMETER TO INT FOR FINAL - JON public ActionResult DeckDetail(int?deckId) { DeckDetailViewModel result = new DeckDetailViewModel(); if (TempData["UpdateSuccess"] != null) { result.UpdateSuccessMessage = TempData["UpdateSuccess"] as string; } //FOR TESTING ONLY: if (!deckId.HasValue) { deckId = TempData["deckId"] as int?; } int id = deckId.Value; DeckItem deck = _db.GetDeck(id); List <CardItem> cards = _db.GetAllCardsForDeck(id); foreach (CardItem card in cards) { card.Tags = _db.GetAllTagsForCard(card.Id); } deck.Cards = cards; result.Deck = deck; return(View("DeckDetail", result)); }
public ActionResult DeckDetail(int deckId) { List <Card> cards = _cardData.GetDeckCards(deckId); cards.ForEach(c => { c.src = "http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=" + c.ID + "&type=card"; c.url = Url.Action("CardDetail", "Cards", new { ID = c.ID }); c.Hovering = false; }); var planeswalkers = new List <Card>(); var creatures = new List <Card>(); var sorceries = new List <Card>(); var instants = new List <Card>(); var enchantments = new List <Card>(); var artifacts = new List <Card>(); var lands = new List <Card>(); var other = new List <Card>(); cards.ForEach(c => { if (c.Type.Contains("Planeswalker")) { planeswalkers.Add(c); } else if (c.Type.Contains("Creature")) { creatures.Add(c); } else if (c.Type.Contains("Sorcery")) { sorceries.Add(c); } else if (c.Type.Contains("Instant")) { instants.Add(c); } else if (c.Type.Contains("Enchantment")) { enchantments.Add(c); } else if (c.Type.Contains("Artifact")) { artifacts.Add(c); } else if (c.Type.Contains("Land")) { lands.Add(c); } else { other.Add(c); } }); var vm = new DeckDetailViewModel() { Cards = cards, Planeswalkers = planeswalkers, Creatures = creatures, Sorceries = sorceries, Instants = instants, Enchantments = enchantments, Artifacts = artifacts, Lands = lands, Other = other, Amount = _deckData.GetDeckLength(deckId), Name = _deckData.GetDeckName(deckId) }; return(View(vm)); }