public IActionResult EditPokemon(PokemonTeamDetail pokemonTeamDetail)
        {
            PokemonTeam pokemonTeam = this.dataService.GetPokemonTeamFromPokemon(pokemonTeamDetail.Id);

            if (!this.ModelState.IsValid)
            {
                List <Pokemon> pokemonList = this.FillPokemonList(pokemonTeam);

                UpdateTeamPokemonViewModel model = new UpdateTeamPokemonViewModel()
                {
                    PokemonTeamDetail = pokemonTeamDetail,
                    AllPokemon        = pokemonList,
                    AllNatures        = this.dataService.GetObjects <Nature>("Name"),
                    AllAbilities      = this.dataService.GetObjects <Ability>("Name"),
                    AllBattleItems    = this.dataService.GetBattleItems().OrderBy(x => x.Name).ToList(),
                    GameId            = pokemonTeam.GameId,
                };

                return(this.View(model));
            }

            Pokemon pokemon = this.dataService.GetPokemonById(pokemonTeamDetail.PokemonId);

            if (pokemon.GenderRatioId == 10)
            {
                pokemonTeamDetail.Gender = null;
            }

            this.dataService.UpdatePokemonTeamDetail(pokemonTeamDetail);

            return(this.RedirectToAction("PokemonTeams", "User"));
        }
        public IActionResult EditPokemon(int pokemonTeamId, int pokemonTeamDetailId)
        {
            this.UpdatePokemonTeamList();
            if (pokemonTeams.Count < pokemonTeamId)
            {
                return(this.RedirectToAction("PokemonTeams", "User"));
            }
            else
            {
                PokemonTeam       pokemonTeam       = pokemonTeams[pokemonTeamId - 1];
                PokemonTeamDetail pokemonTeamDetail = this.dataService.GetPokemonTeamDetail(pokemonTeam.GrabPokemonTeamDetailIds()[pokemonTeamDetailId - 1]);

                if (pokemonTeamDetail.Nature == null)
                {
                    pokemonTeamDetail.NatureId = this.dataService.GetObjectByPropertyValue <Nature>("Name", "Serious").Id;
                }

                List <Pokemon>             pokemonList = this.FillPokemonList(pokemonTeam);
                UpdateTeamPokemonViewModel model       = new UpdateTeamPokemonViewModel()
                {
                    PokemonTeamDetail = pokemonTeamDetail,
                    AllPokemon        = pokemonList,
                    AllNatures        = this.dataService.GetObjects <Nature>("Name"),
                    AllAbilities      = this.dataService.GetObjects <Ability>("Name"),
                    AllBattleItems    = this.dataService.GetBattleItems().OrderBy(x => x.Name).ToList(),
                    GameId            = pokemonTeam.GameId,
                };

                return(this.View(model));
            }
        }