public string AddPokemon(string name)
        {
            string result = getPokemonJSON(name);

            if (result == string.Empty)
            {
                return("error");
            }
            AnPokemonProxy  pokemon       = JsonConvert.DeserializeObject <AnPokemonProxy>(result);
            AnServiceHelper pokemonHelper = new AnServiceHelper(UserConnection, "AnPokemons", "AnName", pokemon.Name);

            if (pokemonHelper.isAdded())
            {
                return("exists");
            }
            pokemonHelper.setImageId(pokemon);
            AnServiceHelper helper = new AnServiceHelper(UserConnection, "AnLookup_PokemonType", "Name", pokemon.Type);

            helper.insert();
            pokemon.TypeId = helper.getId();
            pokemonHelper.insert(pokemon);
            pokemon.Id = pokemonHelper.getId();
            foreach (string move in pokemon.Moves)
            {
                helper = new AnServiceHelper(UserConnection, "AnLookup_MoveType", "Name", move);
                helper.insert();
                string moveId = helper.getId();
                helper.insert("AnPokemonMove", "AnMoveId", moveId, "AnPokemonId", pokemon.Id);
            }
            return("ok");
        }
        /// <summary>
        /// method to insert image from url to DB and set the relevant property of pokemon object
        /// </summary>
        /// <param name="pokemon">object which property needs to be set</param>
        public void setImageId(AnPokemonProxy pokemon)
        {
            var          imageApi     = new ImageAPI(userConnection);
            WebRequest   imageRequest = WebRequest.Create(pokemon.ImageURL);
            MemoryStream Image        = new MemoryStream();

            imageRequest.GetResponse().GetResponseStream().CopyTo(Image);
            pokemon.ImageId = imageApi.Save(Image, "image/png", $"An{pokemon.Name}Image").ToString();
        }
        /// <summary>
        /// method to insert new pokemon to DB using properties of AnPokemonProxy object
        /// </summary>
        /// <param name="pokemon">object which needs to be inserted</param>
        public void insert(AnPokemonProxy pokemon)
        {
            var insertPok = new Insert(userConnection).Into(sourceSchemaName)
                            .Set("AnName", Column.Parameter(pokemon.Name))
                            .Set("AnHeight", Column.Parameter(pokemon.Height))
                            .Set("AnWeight", Column.Parameter(pokemon.Weight))
                            .Set("AnWeightAndHeight", Column.Parameter(pokemon.Weight + pokemon.Height))
                            .Set("AnLookup_PokemonTypeId", Column.Parameter(pokemon.TypeId))
                            .Set("AnImageLinkId", Column.Parameter(pokemon.ImageId));

            insertPok.Execute();
        }