Esempio n. 1
0
        public async Task Team()
        {
            MySqlConnection conn = DatabaseHelper.GetClosedConnection();

            if (!await conn.IsUserRegistered(Context.User.Id))
            {
                return;
            }

            IUserMessage msg;

            if (Private)
            {
                msg = await(await Context.User.GetOrCreateDMChannelAsync()).SendMessageAsync("Loading Data...");
            }
            else
            {
                msg = await Context.Channel.SendMessageAsync("Loading Data...");
            }

            Models.Team     t    = (await conn.GetXMLFromDatabaseAsync("Team", "Trainers", Context.User.Id)).Deserialize <Models.Team>();
            Models.Pokemon  p    = t.First();
            PokeAPI.Pokemon pApi = await DataFetcher.GetApiObject <PokeAPI.Pokemon>(p.ID);

            EmbedBuilder builder = new EmbedBuilder()
            {
                Title        = $"{(Context.User as IGuildUser).Nickname ?? Context.User.Username}'s {p.Nickname ?? pApi.Name.Capatalize()}",
                Color        = Color.Teal,
                Description  = p.ToString(pApi.Name),
                ThumbnailUrl = $"https://img.pokemondb.net/sprites/black-white/anim/normal/{pApi.Name}.gif"
            };

            await msg.ModifyAsync(x => { x.Content = ""; x.Embed = builder.Build(); });
        }
Esempio n. 2
0
        public async Task <ActionResult <Models.Pokemon> > Get(string name)
        {
            try
            {
                var pokemonWrapper = await _pokemonRepo.GetPokemonAsync(name.ToLowerInvariant());

                if (string.IsNullOrEmpty(pokemonWrapper.Description))
                {
                    return(NotFound());
                }

                var translationWrapper = await _translationService.GetTranslationAsync(pokemonWrapper.Description);

                var pokemon = new Models.Pokemon
                {
                    Name        = name,
                    Description = translationWrapper.Contents != null && !string.IsNullOrEmpty(translationWrapper.Contents.Translation)
                    ? translationWrapper.Contents.Translation : pokemonWrapper.Description
                };
                return(Ok(pokemon));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Failed to get pokemon {name}: {ex}");
                if (ex is ApiCallFailedException apiCallEx)
                {
                    return(StatusCode((int)apiCallEx.HttpStatusCode));
                }

                return(BadRequest($"Failed to get pokemon {name}"));
            }
        }
        public IActionResult WishListedPokemons(int id)
        {
            Models.Pokemon pokemon      = context.POKEMON.Find(id);
            var            user         = context.USER.Where(u => u.Email == User.Identity.Name).FirstOrDefault();
            var            userPokemons = context.USER_POKEMON.Where(up => up.Id == user.Id && up.POKEMON_ID == pokemon.POKEMON_ID).ToList();

            return(View(userPokemons));
        }
Esempio n. 4
0
        public IActionResult Pokemon(int id = 1)
        {
            var apiModel = DataFetcher.GetApiObject <Pokemon>(new Uri("http://pokeapi.co/api/v2/pokemon/" + id)).Result;

            apiModel.Species = DataFetcher.GetApiObject <PokemonSpecies>(new Uri("http://pokeapi.co/api/v2/pokemon-species/" + id)).Result;
            var model = new Models.Pokemon(apiModel);

            return(View(model));
        }
Esempio n. 5
0
        public static IPokemon CreatePokemon()
        {
            IPokemon pokemon = new Models.Pokemon
            {
                Stats   = PokemonStatsFactory.CreateStats(),
                Attacks = PokemonAttacksFactory.CreateAttacks()
            };

            return(pokemon);
        }
        public void PutPokemonTest()
        {
            pokemonController controller = new pokemonController();

            controller.Request       = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();

            string locationUrl = "http://localhost:8000/api/pokemon/";

            var mockUrlHelper = new Mock <UrlHelper>();

            mockUrlHelper.Setup(x => x.Link(It.IsAny <string>(), It.IsAny <object>())).Returns(locationUrl);
            controller.Url = mockUrlHelper.Object;

            var pokemon = new Models.Pokemon
            {
                name            = "bulbasaur",
                image           = "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/1.png",
                speed           = 45,
                special_defense = 65,
                special_attack  = 65,
                defense         = 49,
                attack          = 49,
                hp = 45,
                base_experience = 64,
                height          = 7,
                weigh           = 69,
                moves           = new List <Models.Move> {
                    new Models.Move {
                        name = "razor-wind"
                    }, new Models.Move {
                        name = "echoed-voice"
                    }, new Models.Move {
                        name = "work-up"
                    }
                },
                abilities = new List <Models.Ability> {
                    new Models.Ability {
                        name = "chlorophyll"
                    }, new Models.Ability {
                        name = "overgrow"
                    }
                }
            };

            IHttpActionResult response = controller.PostPokemon(pokemon);

            var old_id = pokemon.id;

            response = controller.PutPokemon(pokemon);

            var new_id = pokemon.id;

            Assert.AreNotSame(new_id, old_id);
        }
Esempio n. 7
0
 private async Task SendPokemonMessage(Models.Pokemon pokemon)
 {
     if (pokemon == null)
     {
         await ReplyAsync("Unknown Pokemon!");
     }
     else
     {
         await ReplyAsync(String.Format("{0}{1}", GAMEPRESS_SITE, pokemon.PokemonId));
     }
 }
Esempio n. 8
0
        private async Task <EmbedBuilder> GetFirstPokemon()
        {
            Models.Team     t    = (await DatabaseHelper.GetClosedConnection().GetXMLFromDatabaseAsync("Team", "Trainers", Context.User.Id)).Deserialize <Models.Team>();
            Models.Pokemon  p    = t.First();
            PokeAPI.Pokemon pApi = await DataFetcher.GetApiObject <PokeAPI.Pokemon>(p.ID);

            EmbedBuilder builder = new EmbedBuilder()
            {
                Title        = $"{(Context.User as IGuildUser).Nickname ?? Context.User.Username}'s {p.Nickname ?? pApi.Name.Capatalize()}",
                Color        = Color.Teal,
                Description  = p.ToString(pApi.Name),
                ThumbnailUrl = $"https://img.pokemondb.net/sprites/black-white/anim/normal/{pApi.Name}.gif"
            };

            return(builder);
        }
        private async Task <string> CreateStarterPokemonXMLAsync(string starterName)
        {
            PRPGDiscordBot.Models.Team team = new Models.Team();

            PokeAPI.Pokemon p = await DataFetcher.GetNamedApiObject <PokeAPI.Pokemon>(starterName.ToLower());

            Models.Pokemon pokemon = new Models.Pokemon()
            {
                ID = p.ID, Level = 5, PokeBallType = Models.PokeBallType.PokeBall, Form = 0, Happiness = 70, Nickname = "", Shiny = false, Status = Models.Status.None
            };
            pokemon.Stats        = Models.Pokemon.GenerateStarterStats(p);
            pokemon.Moves        = Models.Pokemon.GenerateStarterMoves(p);
            pokemon.Ability.Name = p.Abilities[0].Ability.Name;

            team.Add(pokemon);

            return(team.Serialize());
        }
        public JsonResult BuyPokemon(int pokemonid)
        {
            Models.Pokemon pokemon = context.POKEMON.Find(pokemonid);
            var            user    = context.USER.Where(u => u.Email == User.Identity.Name).FirstOrDefault();



            try
            {
                var userPokemons = context.USER_POKEMON.Where(up => up.Id == user.Id && up.POKEMON_ID == pokemon.POKEMON_ID).ToList();
                if (userPokemons.Count() != 0)
                {
                    return(Json("Bu Pokemona Zaten Sahipsiniz !"));
                }
                else
                {
                    if (user.USER_BALANCE >= pokemon.POKEMON_PRICE)
                    {
                        UserPokemon userPokemon = new UserPokemon
                        {
                            Id            = user.Id,
                            POKEMON_ID    = pokemon.POKEMON_ID,
                            CREATION_DATE = System.DateTime.Now
                        };

                        context.USER_POKEMON.Add(userPokemon);
                        user.USER_BALANCE = user.USER_BALANCE - pokemon.POKEMON_PRICE;
                        context.SaveChanges(); context.SaveChanges();

                        return(Json("success"));
                    }
                    else
                    {
                        return(Json("Bu Pokemonu Almak İçin Yeterli Bakiyeniz Yok !"));
                    }
                }
            }
            catch (Exception e)
            {
                return(Json(e.Message));
            }
        }
        public JsonResult AddToWishList(int pokemonid)
        {
            Models.Pokemon pokemon = context.POKEMON.Find(pokemonid);
            var            user    = context.USER.Where(u => u.Email == User.Identity.Name).FirstOrDefault();

            try
            {
                var userPokemons = context.USER_POKEMON.Where(up => up.Id == user.Id && up.POKEMON_ID == pokemon.POKEMON_ID).ToList();
                if (userPokemons.Count() != 0)
                {
                    return(Json("Bu Pokemona Zaten Sahipsiniz !"));
                }
                else
                {
                    var userWishlist = context.USER_WISHLIST.Where(uw => uw.Id == user.Id && uw.POKEMON_ID == pokemon.POKEMON_ID).ToList();

                    if (userWishlist.Count() != 0)
                    {
                        return(Json("Bu Pokemon Zaten İstek Listenizde Ekli !"));
                    }
                    else
                    {
                        UserWishlist userWish = new UserWishlist
                        {
                            POKEMON_ID    = pokemon.POKEMON_ID,
                            Id            = user.Id,
                            CREATION_DATE = System.DateTime.Now
                        };

                        context.USER_WISHLIST.Add(userWish);
                        context.SaveChanges();
                        return(Json("success"));
                    }
                }
            }
            catch (Exception e)
            {
                return(Json(e.Message));
            }
        }
Esempio n. 12
0
        public static async Task <GTSObject> GetSingleGTSTrade(int i)
        {
            var conn = new OpenConnection();

            if (!conn.IsConnected)
            {
                conn.Close();
                return(null);
            }
            const string command = "SELECT id, Offer, Request, user_id, Accepted, ownername, username, Result FROM GTS WHERE id = @id";
            var          mcom    = new MySqlCommand(command, conn.Connection);

            mcom.Parameters.AddWithValue("@id", i);
            var r = await mcom.ExecuteReaderAsync();

            GTSObject obj = null;

            while (r.Read())
            {
                Models.Pokemon result = null;
                if (!(r["Result"] is DBNull))
                {
                    result = Deserializer.DeserializePokemon(r["Result"].ToString());
                }
                obj = new GTSObject
                {
                    Id         = (int)r["id"],
                    Offer      = Deserializer.DeserializePokemon(r["Offer"].ToString()),
                    Request    = JsonConvert.DeserializeObject <GTSFilter>(r["Request"].ToString()),
                    UserId     = (uint)r["user_id"],
                    Accepted   = (bool)r["Accepted"],
                    TraderName = r["username"].ToString(),
                    OwnerName  = r["ownername"].ToString(),
                    Result     = result
                };
            }
            conn.Close();
            return(obj);
        }
Esempio n. 13
0
        public JsonResult DeletePokemon(Models.Pokemon pokemon)
        {
            string errorMessage = "";

            try
            {
                context.POKEMON.Remove(pokemon);
                context.SaveChanges();
            }
            catch (Exception e)
            {
                errorMessage = e.Message;
            }

            if (errorMessage == "")
            {
                return(Json("başarılı"));
            }
            else
            {
                return(Json(errorMessage));
            }
        }
Esempio n. 14
0
 // GET: PokeController/Details/5
 public ActionResult Details(int id)
 {
     Models.Pokemon pokemon = Models.Pokemon.GetPokemon(id);
     ViewData["details"] = pokemon;
     return(View());
 }
        public JsonResult NewPokemon(Models.Pokemon pokemon, int[] typeIDs, int[] weaknessIDs, int[] abilityIDs, List <Models.PokemonStat> pokemonStats)
        {
            List <string> errorMessages = new List <string>();
            int           lastID        = 0;


            try
            {
                c.POKEMON.Add(pokemon);
                c.SaveChanges();
                lastID = pokemon.POKEMON_ID;

                foreach (int typeID in typeIDs)
                {
                    PokemonType pokemonType = new PokemonType();
                    pokemonType.POKEMON_ID = lastID;
                    pokemonType.TYPE_ID    = typeID;

                    try
                    {
                        c.POKEMON_TYPE.Add(pokemonType);
                        c.SaveChanges();
                    }
                    catch (Exception e)
                    {
                        errorMessages.Add(e.Message);
                    }
                }



                foreach (int weaknessID in weaknessIDs)
                {
                    PokemonWeakness pokemonWeakness = new PokemonWeakness();
                    pokemonWeakness.WEAKNESS_ID = weaknessID;
                    pokemonWeakness.POKEMON_ID  = lastID;
                    try
                    {
                        c.POKEMON_WEAKNESS.Add(pokemonWeakness);
                        c.SaveChanges();
                    }
                    catch (Exception e)
                    {
                        errorMessages.Add(e.Message);
                    }
                }


                foreach (int abilityID in abilityIDs)
                {
                    PokemonAbility pokemonAbility = new PokemonAbility();
                    pokemonAbility.POKEMON_ID = lastID;
                    pokemonAbility.ABILITY_ID = abilityID;
                    try
                    {
                        c.POKEMON_ABILITY.Add(pokemonAbility);
                        c.SaveChanges();
                    }
                    catch (Exception e)
                    {
                        errorMessages.Add(e.Message);
                    }
                }



                foreach (var pokemonStat in pokemonStats)
                {
                    pokemonStat.POKEMON_ID = lastID;
                    try
                    {
                        c.POKEMON_STAT.Add(pokemonStat);
                        c.SaveChanges();
                    }
                    catch (Exception e)
                    {
                        errorMessages.Add(e.Message);
                    }
                }

                c.SaveChanges();
            }
            catch (Exception e)
            {
                errorMessages.Add(e.Message);
            }

            if (errorMessages.Count == 0)
            {
                return(Json("başarılı"));
            }
            else
            {
                return(Json(errorMessages));
            }
        }