public async Task <IActionResult> WalkAround(ExploreWalkAroundVm userData)//bevat een omgeving en tijdstip { if (ModelState.IsValid) { Type foundType = await FindType(userData.SelectedEnvironmentId, userData.SelectedDayTimeId); PokemonSessionData pokemonData = new PokemonSessionData(); pokemonData.Type = foundType.Name; string serializedPokemonData = JsonConvert.SerializeObject(pokemonData); HttpContext.Session.SetString("PokemonData", serializedPokemonData); return(new RedirectToActionResult("GeneratePokemon", "Explore", null)); } else { return(View(userData)); } }
private Pokemon AvoidSerializeErrorAdvantages(Pokemon pokemon) { List <PokemonType> types = pokemon.PokemonTypes.ToList(); foreach (PokemonType pt in types) { Type type = pt.Type; var advantages = type.AdvantagesOver; foreach (var adv in advantages) { adv.AdvantageType = null; adv.DisadvantageType = null; } var disadvantages = type.DisadvantagesOver; foreach (var disadv in disadvantages) { disadv.AdvantageType = null; disadv.DisadvantageType = null; } } return(pokemon); }
private async Task <PokemonCatch> LetPokemonAppear(Type type, Guid userId) { string uri = $"{baseuri}/PokemonTypes/GetByTypeName/{type.Name}"; List <Pokemon> GetPokemonWithType = await WebApiHelper.GetApiResult <List <Pokemon> >(uri); int max = GetPokemonWithType.Count(); if (max != 0) { int listItem = random.Next(0, max); var appearedPokemon = GetPokemonWithType[listItem]; uri = $"{baseuri}/PokemonCatches/CreateFromTemplate/{appearedPokemon.Id}/{userId}"; PokemonCatch generatedPokemon = await WebApiHelper.GetApiResult <PokemonCatch>(uri); string serializedPokemon = HttpContext.Session.GetString("PokemonData"); var pokemonData = JsonConvert.DeserializeObject <PokemonSessionData>(serializedPokemon); pokemonData.Name = appearedPokemon.Name; pokemonData.Id = appearedPokemon.Id; pokemonData.HP = generatedPokemon.HP; pokemonData.CP = generatedPokemon.CP; pokemonData.Height = generatedPokemon.Height; pokemonData.Weight = generatedPokemon.Weight; pokemonData.MoveCatches = generatedPokemon.PokemonMoveCatches; pokemonData.Gender = generatedPokemon.Gender; pokemonData.IsShiny = generatedPokemon.IsShiny; pokemonData.IsAlolan = generatedPokemon.IsAlolan; string serializedPokemonData = JsonConvert.SerializeObject(pokemonData); HttpContext.Session.SetString("PokemonData", serializedPokemonData); return(generatedPokemon); } else { return(null); } }