Exemplo n.º 1
0
        /// <summary>
        /// Handles user interaction to edit a Pokemon in the Pokedex.
        /// </summary>
        /// <param name="pokeDexRepository"></param>
        public void HandlePokedexEdit()
        {
            Console.WriteLine("╔════════════════════════╗");
            Console.WriteLine("║  Welcome to PokéEdit!  ║");
            Console.WriteLine("╚════════════════════════╝");
            Console.WriteLine("What? Made a mistake? Let's fix that.");
            Console.WriteLine("Which Pokémon ID# do you want to edit?");
            var userInput       = Console.ReadLine();
            var selectedPokemon = Search(PokeDexRepository, userInput);

            selectedPokemon.Name  = HandleChange("Name", selectedPokemon.Name);
            selectedPokemon.Type1 = HandleChange("Type 1", selectedPokemon.Type1);
            selectedPokemon.Type2 = HandleChange("Type 2", selectedPokemon.Type2);
            string UserInputHP        = HandleChange("HP", selectedPokemon.HP.ToString());
            string UserInputAttack    = HandleChange("Attack", selectedPokemon.Attack.ToString());
            string UserInputDefense   = HandleChange("Defense", selectedPokemon.Defense.ToString());
            string UserInputSpAtk     = HandleChange("SpAtk", selectedPokemon.SpAtk.ToString());
            string UserInputSpDef     = HandleChange("SpDef", selectedPokemon.SpDef.ToString());
            string UserInputSpeed     = HandleChange("Speed", selectedPokemon.Speed.ToString());
            string UserInputLegendary = HandleChange("Legendary", selectedPokemon.Legendary.ToString());

            selectedPokemon.HP        = IntTryParse(UserInputHP, selectedPokemon.HP);
            selectedPokemon.Attack    = IntTryParse(UserInputAttack, selectedPokemon.HP);
            selectedPokemon.Defense   = IntTryParse(UserInputDefense, selectedPokemon.HP);
            selectedPokemon.SpAtk     = IntTryParse(UserInputSpAtk, selectedPokemon.HP);
            selectedPokemon.SpDef     = IntTryParse(UserInputSpDef, selectedPokemon.HP);
            selectedPokemon.Speed     = IntTryParse(UserInputSpeed, selectedPokemon.HP);
            selectedPokemon.Legendary = BoolTryParse(UserInputLegendary, selectedPokemon.Legendary);
            PokeDexRepository.Edit(selectedPokemon);
        }