public void InsertPokemon(PokemonInsert pokemon) { using (var con = new SqlConnection(Environment.GetEnvironmentVariable("ConnectionString"))) { //Create Connection to DB con.Open(); //Create Command for Stored Procedure var cmd = con.CreateCommand(); cmd.CommandText = "pokedex_scraper_insert"; cmd.CommandType = System.Data.CommandType.StoredProcedure; //Pass Parameter cmd.Parameters.AddWithValue("@pokemonId", pokemon.PokemonId); cmd.Parameters.AddWithValue("@pokemonName", pokemon.PokemonName); cmd.Parameters.AddWithValue("@pokemonDescription", pokemon.PokemonDescription); cmd.Parameters.AddWithValue("@pokemonHeight", pokemon.PokemonHeight); cmd.Parameters.AddWithValue("@pokemonWeight", pokemon.PokemonWeight); cmd.Parameters.AddWithValue("@pokemonType", pokemon.PokemonType); cmd.Parameters.AddWithValue("@pokemonImage", pokemon.PokemonImage); cmd.Parameters.AddWithValue("@pokemonImageSFront", pokemon.PokemonImageSFront); cmd.Parameters.AddWithValue("@pokemonImageSBack", pokemon.PokemonImageSBack); cmd.Parameters.AddWithValue("@statHp", pokemon.StatHp); cmd.Parameters.AddWithValue("@statAttack", pokemon.StatAttack); cmd.Parameters.AddWithValue("@statDefense", pokemon.StatDefense); cmd.Parameters.AddWithValue("@statSpAttack", pokemon.StatSpAttack); cmd.Parameters.AddWithValue("@statSpDefense", pokemon.StatSpDefense); cmd.Parameters.AddWithValue("@statSpeed", pokemon.StatSpeed); cmd.Parameters.AddWithValue("@statTotal", pokemon.StatTotal); //No Expected Outputs cmd.ExecuteNonQuery(); } }
public IActionResult InsertPokemon([FromBody] PokemonInsert pokemonModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var pokemonInsert = Mapper.Map <PokemonEntity>(pokemonModel); _pokedexRepository.InsertPokemon(pokemonInsert); if (!_pokedexRepository.Save()) { return(StatusCode(500, "A problem happened while handling your request")); } return(StatusCode(201)); }
public List <PokemonInsert> Scrape() { // List of Pokemon var pokemonList = new List <PokemonInsert>(); //Create new instance of WebClient var WebClient = new WebClient(); //Set HTML = the result of DownloadString var html = WebClient.DownloadString("http://pokedream.com/pokedex/pokemon?display=gen1"); //Parse the data var parser = new HtmlParser(); var document = parser.ParseDocument(html); //Select the table which has pokemon data var table = document.QuerySelector("tbody"); var rows = table.QuerySelectorAll("tr"); foreach (var row in rows) { var name = row.QuerySelector("td"); if (name != null) { var WebClientTwo = new WebClient(); var htmlTwo = WebClientTwo.DownloadString("http://pokedream.com/pokedex/pokemon/" + name.TextContent); var parserTwo = new HtmlParser(); var documentTwo = parserTwo.ParseDocument(htmlTwo); PokemonInsert currentPokemon = new PokemonInsert(); // Pokemon Table var pokemonTable = documentTwo.QuerySelectorAll("tbody")[1]; // Pokemon Pic var pokemonTableRowZero = pokemonTable.QuerySelectorAll("tr")[0]; var pokemonTableDataZero = pokemonTableRowZero.QuerySelector("#picture"); currentPokemon.PokemonImage = pokemonTableDataZero.QuerySelector("img").GetAttribute("src"); // Pokemon Name currentPokemon.PokemonName = pokemonTableDataZero.QuerySelector("img").GetAttribute("alt"); // Pokemon Id currentPokemon.PokemonId = documentTwo.QuerySelector("h1 span").TextContent; // Pokemon Type var pokemonTableDataOne = pokemonTableRowZero.QuerySelectorAll("td")[1]; currentPokemon.PokemonType = pokemonTableDataOne.QuerySelector("img").GetAttribute("alt"); // Pokemon Height var pokemonTableRowTwo = pokemonTable.QuerySelectorAll("tr")[2]; currentPokemon.PokemonHeight = pokemonTableRowTwo.QuerySelectorAll("td")[0].TextContent; // Pokemon Weight var pokemonTableRowThree = pokemonTable.QuerySelectorAll("tr")[3]; currentPokemon.PokemonWeight = pokemonTableRowThree.QuerySelectorAll("td")[0].TextContent; // Discription Table var pokemonTableDisc = documentTwo.QuerySelector("#flavortext"); var pokemonTableDiscRowYellow = pokemonTableDisc.QuerySelectorAll("tr")[0]; currentPokemon.PokemonDescription = pokemonTableDiscRowYellow.QuerySelectorAll("td")[1].TextContent; // Pokemon Stats var pokemonTableStats = documentTwo.QuerySelector("#stats"); var pokemonTableStatsRowOne = pokemonTableStats.QuerySelectorAll("tr")[1]; currentPokemon.StatHp = pokemonTableStatsRowOne.QuerySelectorAll("td")[0].TextContent; var pokemonTableStatsRowTwo = pokemonTableStats.QuerySelectorAll("tr")[2]; currentPokemon.StatAttack = pokemonTableStatsRowTwo.QuerySelectorAll("td")[0].TextContent; var pokemonTableStatsRowThree = pokemonTableStats.QuerySelectorAll("tr")[3]; currentPokemon.StatDefense = pokemonTableStatsRowThree.QuerySelectorAll("td")[0].TextContent; var pokemonTableStatsRowFour = pokemonTableStats.QuerySelectorAll("tr")[4]; currentPokemon.StatSpAttack = pokemonTableStatsRowFour.QuerySelectorAll("td")[0].TextContent; var pokemonTableStatsRowFive = pokemonTableStats.QuerySelectorAll("tr")[5]; currentPokemon.StatSpDefense = pokemonTableStatsRowFive.QuerySelectorAll("td")[0].TextContent; var pokemonTableStatsRowSix = pokemonTableStats.QuerySelectorAll("tr")[6]; currentPokemon.StatSpeed = pokemonTableStatsRowSix.QuerySelectorAll("td")[0].TextContent; var pokemonTableStatsRowSeven = pokemonTableStats.QuerySelectorAll("tr")[7]; currentPokemon.StatTotal = pokemonTableStatsRowSeven.QuerySelectorAll("td")[0].TextContent; // Pokemon Pics var pokemonTableIamges = documentTwo.QuerySelector("#images"); var pokemonTableIamgesDataTwo = pokemonTableIamges.QuerySelectorAll("td")[1]; currentPokemon.PokemonImageSFront = pokemonTableIamgesDataTwo.QuerySelectorAll("img")[0].GetAttribute("src"); currentPokemon.PokemonImageSBack = pokemonTableIamgesDataTwo.QuerySelectorAll("img")[2].GetAttribute("src"); pokemonList.Add(currentPokemon); } } return(pokemonList); }