/// <summary> /// Libera al pokemon, es decir, lo elimina de los pokemones listados en la box. /// </summary> static void LiberarPokemon() { Menu.HeaderPrincipal(); ResetearFondo(); LogicaBox box = new LogicaBox(LogicaPC.BoxSeleccionada); int idPokemon = Validaciones.ValidarId(); try { TablaPokemon.GenerarTabla(box.ObtenerPokemon(idPokemon)); ResetearFondo(); #region Confirmando la eliminacion if (Validaciones.ValidarSoN("Desea eliminar el pokemon?")) { box.Liberar(idPokemon); Menu.CambiarColor(ConsoleColor.Yellow); Console.WriteLine("\nEl pokemon ha sido liberado"); } else { Menu.CambiarColor(ConsoleColor.Red); Console.WriteLine("\nLa liberacion se ha cancelado"); } #endregion } catch (NoExistePokemonException e) { Menu.CambiarColor(ConsoleColor.Red); Console.WriteLine(e.Message); } Menu.EspereUnaTecla(); }
/// <summary> /// Muestra en una tabla los pokemones pasados por parámetro. /// </summary> /// <param name="pokemonesAMostrar"></param> /// <returns>Un indicador si se pudo o no mostrar la información</returns> public static bool Mostrar(Pokemon[] pokemonesAMostrar) { Menu.HeaderPrincipal(); MenuBox.ResetearFondo(); if (pokemonesAMostrar.Length != 0) { TablaPokemon.GenerarTabla(pokemonesAMostrar); return(true); } return(false); }
/// <summary> /// Busca un pokemon en la box basandose en su Id y muestra el resultado /// </summary> static void BuscarPokemon() { Menu.HeaderPrincipal(); ResetearFondo(); LogicaBox box = new LogicaBox(LogicaPC.BoxSeleccionada); int pokemonId = Validaciones.ValidarId(); try { Pokemon pokemonEncontrado = box.ObtenerPokemon(pokemonId); TablaPokemon.GenerarTabla(pokemonEncontrado); } catch (NoExistePokemonException e) { Menu.CambiarColor(ConsoleColor.Red); Console.WriteLine(e.Message); } Menu.EspereUnaTecla(); }
/// <summary> /// Guarda el pokemon en un espacio de la box actual. En caso de no lograrse el guardado, muestra el mensaje de error. ///</summary> static void GuardarPokemon() { Menu.HeaderPrincipal(); ResetearFondo(); LogicaBox box = new LogicaBox(LogicaPC.BoxSeleccionada); string mensajeError = "El pokemon no puede ser guardado porque"; try { if (Validaciones.ValidarSoN("El pokemon a guardar es un huevo?")) { #region Cargar un huevo ResetearFondo(); short cantidadPasos = Validaciones.ValidarCantPasos(); box.Guardar(new Huevo(cantidadPasos)); Menu.CambiarColor(ConsoleColor.Yellow); Console.WriteLine("\nEl huevo ha sido cargado"); #endregion } else { #region Cargar un pokemon ResetearFondo(); Pokemon pokemonNuevo = CargaDatosPokemon(); Menu.HeaderPrincipal(); TablaPokemon.GenerarTabla(pokemonNuevo); ResetearFondo(); if (Validaciones.ValidarSoN("Desea guardar este pokemon?")) { ResetearFondo(); box.Guardar(pokemonNuevo); Menu.CambiarColor(ConsoleColor.Yellow); Console.WriteLine("\nEl pokemon ha sido cargado"); } else { Menu.CambiarColor(ConsoleColor.Red); Console.WriteLine("\nSe ha cancelado la carga del pokemon"); } #endregion } } catch (BoxLlenaException e) { //Cargar en otra box disponible?? Menu.CambiarColor(ConsoleColor.Red); Console.WriteLine("{0} {1}", mensajeError, e.Message.ToLower()); } catch (MasterBallUnicaException e) { Menu.CambiarColor(ConsoleColor.Red); Console.WriteLine("{0} {1}", mensajeError, e.Message.ToLower()); } catch (LegendarioUnicoException e) { Menu.CambiarColor(ConsoleColor.Red); Console.WriteLine("{0} {1}", mensajeError, e.Message.ToLower()); } catch (NroDexSuperadoException e) { Menu.CambiarColor(ConsoleColor.Red); Console.WriteLine("{0} {1}", mensajeError, e.Message.ToLower()); } Menu.EspereUnaTecla(); }