public async Task <IActionResult> Create(CardInfo[] cardInfos) { if (ModelState.IsValid) { DeckVsCards deckVsCards = new DeckVsCards(); Deck deck = new Deck(); foreach (CardInfo item in cardInfos) { deckVsCards.Deck = deck; deckVsCards.Card = item; _context.Add(deckVsCards); } ; await _context.SaveChangesAsync(); var something = from decks in _context.DeckVsCard select decks; RedirectToAction(nameof(Details), something.Where(c => c.Deck.DeckId == deckVsCards.Deck.DeckId).FirstOrDefault().DeckVsCardsId); return(View()); } else { return(View()); } }
public async Task <IActionResult> Create([Bind("CardInfoId,CardId,DbId,Name,Type,Text,Class,CardSet,Img")] CardInfo cardInfo) { if (User.IsInRole("Admin")) { HttpResponse <Hearthstone.Hs> response = Unirest.get("https://omgvamp-hearthstone-v1.p.mashape.com/cards") .header("X-Mashape-Key", "GBUA6L0J0QmshBqbIxIzTmy4Up8tp1r18WOjsnu52LriUEs890") .asJson <Hearthstone.Hs>(); List <Hearthstone.Hs> hearthstoneCards = new List <Hearthstone.Hs> { response.Body }; PropertyInfo[] property = typeof(Hearthstone.Hs).GetProperties(); foreach (PropertyInfo info in property) { if (info.GetValue(response.Body) is List <Hearthstone.Basic> item2) { foreach (Hearthstone.Basic item in item2) { using (WebClient client = new WebClient()) { if (item.Img != null) { try { var file = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "images", item.Name + ".png"); client.DownloadFile(item.Img, file); item.Img = item.Name + ".png"; CardInfo card = item; if (card.AdditionCard != null) { if (card.AdditionCard.Rarity != null) { Console.WriteLine(card.AdditionCard.Rarity); } } _context.Add(card); } catch (Exception) { } } } } } } await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } else { return(RedirectToAction(nameof(Index))); } }