public JsonResult AddCardToDeck(string name, string cardId) { var deck = DeckBuilderService.GetDeck(name); if (deck == null) { return(Json(new DeckBuilderAddCardJsonResult { Success = false, ErrorMessage = "Could not find deck" }, JsonRequestBehavior.AllowGet)); } CardModel cardModel; try { cardModel = DeckBuilderService.AddCardToDeck(name, cardId); } catch (InvalidOperationException e) { return(Json(new DeckBuilderAddCardJsonResult { Success = false, ErrorMessage = e.Message }, JsonRequestBehavior.AllowGet)); } return(Json(new DeckBuilderAddCardJsonResult { Success = true, CardId = cardModel.Id, CardName = cardModel.Name }, JsonRequestBehavior.AllowGet)); }
public ActionResult Index() { var viewModel = new DeckBuilderBrowseViewModel { Decks = DeckBuilderService.GetAllDecks(), Heroes = CardSearchService.GetHeroes() }; return(View(viewModel)); }
public ActionResult Create(string id, string name) { var deck = DeckBuilderService.CreateDeck(name, id); if (deck == null) { TempData["Error"] = "Deck could not be created, please try again."; return(RedirectToAction("Create", new { id })); } return(RedirectToAction("ViewDeck", new { name = deck.Name })); }
public JsonResult RemoveCardFromDeck(string name, string cardId) { var deck = DeckBuilderService.GetDeck(name); if (deck == null) { return(Json(new DeckBuilderAddCardJsonResult { Success = false, ErrorMessage = "Could not find deck" }, JsonRequestBehavior.AllowGet)); } DeckBuilderService.RemoveCardFromDeck(name, cardId); return(Json(new DeckBuilderAddCardJsonResult { Success = true }, JsonRequestBehavior.AllowGet)); }
public ActionResult ViewDeck(string name) { var deck = DeckBuilderService.GetDeck(name); if (deck == null) { return(RedirectToAction("Index")); } var availableCards = new List <CardModel>(); availableCards.AddRange(CardSearchService.Search("", deck.HeroModel.PlayerClassText)); availableCards.AddRange(CardSearchService.Search("", "Neutral")); availableCards.RemoveAll(x => x.Type == "Hero"); var viewModel = new DeckBuilderEditViewModel { Deck = deck, AvailableCards = availableCards }; return(View(viewModel)); }
public MyDecksController() { DeckBuilderService = new DeckBuilderService(MvcApplication.CardCache); CardSearchService = new CardSearchService(MvcApplication.CardCache); }