public IActionResult TryAgain() { string userName = HttpContext.Session.GetString("Username"); if (UserNameErrorCheck(userName)) { return(new RedirectToActionResult("Login", "Account", null)); } string serializedPokemon = HttpContext.Session.GetString("PokemonData"); if (PokemonErrorCheck(serializedPokemon)) { return(new RedirectToActionResult("Walkaround", "Explore", null)); } var pokemonData = JsonConvert.DeserializeObject <PokemonSessionData>(serializedPokemon); var getPokemon = pokemonContext.Pokemons .Where(p => p.Name == pokemonData.Name).FirstOrDefault(); ExploreCatchVm vm = new ExploreCatchVm(); vm.AppearedPokemon = getPokemon; vm.HP = pokemonData.HP; vm.Moves = pokemonData.Moves; vm.UserName = userName; return(View(vm)); }
public async Task <IActionResult> GeneratePokemon() { PokemonCatch appearedPokemon; Pokemon template; PokemonSessionData pokemonData; string serializedPokemon; Guid userId; Guid?tempUserId = CheckSession(); if (tempUserId == null) { return(new RedirectToActionResult("Login", "Account", null)); } else { userId = (Guid)tempUserId; } UserSimpleDTO user = await GetUserWithId(userId); serializedPokemon = HttpContext.Session.GetString("PokemonData"); if (PokemonErrorCheck(serializedPokemon)) { return(new RedirectToActionResult("Walkaround", "Explore", null)); } pokemonData = JsonConvert.DeserializeObject <PokemonSessionData>(serializedPokemon); string uri = $"{baseuri}/Types/TypeName/{pokemonData.Type}"; var getType = await WebApiHelper.GetApiResult <Type>(uri); if (pokemonData.Name == null)//er is nog geen pokemon gegenereerd. Is dit wel zo zal de bovenstaande terug getoond worden { appearedPokemon = await LetPokemonAppear(getType, user.Id); } else { appearedPokemon = GetPokemonCatchObject(pokemonData.Id, userId, pokemonData.HP, pokemonData.CP, pokemonData.Height, pokemonData.Weight, pokemonData.Gender, pokemonData.IsShiny, pokemonData.IsAlolan, pokemonData.MoveCatches); } uri = $"{baseuri}/Pokemons/GetById/{appearedPokemon.PokemonId}"; template = await WebApiHelper.GetApiResult <Pokemon>(uri); appearedPokemon.Pokemon = template; ExploreCatchVm vm = new ExploreCatchVm(); vm.AppearedPokemon = appearedPokemon; vm.CheatingWarning = pokemonData.CheatingWarning; vm.UserName = user.UserName; vm.BaseUri = baseuriClient; vm.FolderType = GeneralFunctions.EvaluateFolderType(appearedPokemon.IsShiny, appearedPokemon.IsAlolan);//FolderType is ook property van PokemonCatch return(View(vm)); }
public async Task <IActionResult> Gotcha() { Guid userId; Guid?tempUserId = CheckSession(); if (tempUserId == null) { return(new RedirectToActionResult("Login", "Account", null)); } else { userId = (Guid)tempUserId; } UserSimpleDTO user = await GetUserWithId(userId); string serializedPokemon = HttpContext.Session.GetString("PokemonData"); if (PokemonErrorCheck(serializedPokemon)) { return(new RedirectToActionResult("Walkaround", "Explore", null)); } var pokemonData = JsonConvert.DeserializeObject <PokemonSessionData>(serializedPokemon); if (!pokemonData.Caught) {/*de bool is niet op true gezet in CatchProcesser. De user heeft dus gecheat*/ pokemonData.CheatingWarning = "Professor Oak can't allow cheating!"; string serializedPokemonData = JsonConvert.SerializeObject(pokemonData); HttpContext.Session.SetString("PokemonData", serializedPokemonData); return(new RedirectToActionResult("GeneratePokemon", "Explore", null)); } string uri = $"{baseuri}/Pokemons/GetById/{pokemonData.Id}"; Pokemon template = await WebApiHelper.GetApiResult <Pokemon>(uri); PokemonCatch appearedPokemon = GetPokemonCatchObject(pokemonData.Id, userId, pokemonData.HP, pokemonData.CP, pokemonData.Height, pokemonData.Weight, pokemonData.Gender, pokemonData.IsShiny, pokemonData.IsAlolan, pokemonData.MoveCatches); appearedPokemon.Pokemon = template; ExploreCatchVm vm = new ExploreCatchVm(); vm.AppearedPokemon = appearedPokemon; vm.UserName = user.UserName; vm.BaseUri = baseuriClient; vm.FolderType = GeneralFunctions.EvaluateFolderType(appearedPokemon.IsShiny, appearedPokemon.IsAlolan); HttpContext.Session.Remove("PokemonData"); //om minder geheugen in te nemen op de server. //Ook om een Redirect te forceren bij terugkeer naar de vorige pagina return(View(vm)); }
public async Task <IActionResult> TryAgain() { Guid userId; Guid?tempUserId = CheckSession(); if (tempUserId == null) { return(new RedirectToActionResult("Login", "Account", null)); } else { userId = (Guid)tempUserId; } UserSimpleDTO user = await GetUserWithId(userId); string serializedPokemon = HttpContext.Session.GetString("PokemonData"); if (PokemonErrorCheck(serializedPokemon)) { return(new RedirectToActionResult("Walkaround", "Explore", null)); } var pokemonData = JsonConvert.DeserializeObject <PokemonSessionData>(serializedPokemon); string uri = $"{baseuri}/Pokemons/GetById/{pokemonData.Id}"; Pokemon template = await WebApiHelper.GetApiResult <Pokemon>(uri); PokemonCatch appearedPokemon = GetPokemonCatchObject(pokemonData.Id, userId, pokemonData.HP, pokemonData.CP, pokemonData.Height, pokemonData.Weight, pokemonData.Gender, pokemonData.IsShiny, pokemonData.IsAlolan, pokemonData.MoveCatches); appearedPokemon.Pokemon = template; ExploreCatchVm vm = new ExploreCatchVm(); vm.AppearedPokemon = appearedPokemon; vm.UserName = user.UserName; vm.BaseUri = baseuriClient; vm.FolderType = GeneralFunctions.EvaluateFolderType(appearedPokemon.IsShiny, appearedPokemon.IsAlolan); return(View(vm)); }
public async Task <IActionResult> GeneratePokemon() { MyPokemon appearedPokemon; PokemonSessionData pokemonData; string serializedPokemon, userName; userName = HttpContext.Session.GetString("Username"); if (UserNameErrorCheck(userName)) { return(new RedirectToActionResult("Login", "Account", null)); } serializedPokemon = HttpContext.Session.GetString("PokemonData"); if (PokemonErrorCheck(serializedPokemon)) { return(new RedirectToActionResult("Walkaround", "Explore", null)); } pokemonData = JsonConvert.DeserializeObject <PokemonSessionData>(serializedPokemon); var getType = pokemonContext.Types .Where(t => t.Name == pokemonData.Type).FirstOrDefault(); if (pokemonData.Name == null)//er is nog geen pokemon gegenereerd. Is dit wel zo zal de bovenstaande terug getoond worden { appearedPokemon = await LetPokemonAppear(getType); serializedPokemon = HttpContext.Session.GetString("PokemonData"); pokemonData = JsonConvert.DeserializeObject <PokemonSessionData>(serializedPokemon); } appearedPokemon = pokemonContext.Pokemons .Where(p => p.Name == pokemonData.Name).FirstOrDefault(); ExploreCatchVm vm = new ExploreCatchVm(); vm.AppearedPokemon = appearedPokemon; vm.HP = pokemonData.HP; vm.Moves = pokemonData.Moves; vm.CheatingWarning = pokemonData.CheatingWarning; vm.UserName = userName; return(View(vm)); }
public IActionResult Gotcha() { string userName = HttpContext.Session.GetString("Username"); if (UserNameErrorCheck(userName)) { return(new RedirectToActionResult("Login", "Account", null)); } string serializedPokemon = HttpContext.Session.GetString("PokemonData"); if (PokemonErrorCheck(serializedPokemon)) { return(new RedirectToActionResult("Walkaround", "Explore", null)); } var pokemonData = JsonConvert.DeserializeObject <PokemonSessionData>(serializedPokemon); if (!pokemonData.Caught) {/*de bool is niet op true gezet in CatchProcesser. De user heeft dus gecheat*/ pokemonData.CheatingWarning = "Professor Oak can't allow cheating!"; string serializedPokemonData = JsonConvert.SerializeObject(pokemonData); HttpContext.Session.SetString("PokemonData", serializedPokemonData); return(new RedirectToActionResult("GeneratePokemon", "Explore", null)); } var getPokemon = pokemonContext.Pokemons .Where(p => p.Name == pokemonData.Name).FirstOrDefault(); ExploreCatchVm vm = new ExploreCatchVm(); vm.AppearedPokemon = getPokemon; vm.HP = pokemonData.HP; vm.Moves = pokemonData.Moves; vm.UserName = userName; HttpContext.Session.Remove("PokemonData"); //om minder geheugen in te nemen op de server. //Ook om een Redirect te forceren bij terugkeer naar de vorige pagina return(View(vm)); }