/// <summary> /// Muestra el menú de opciones en pantalla. /// </summary> /// <returns>La opción de menú seleccionada por el usuario.</returns> private int MostrarMenu() { MostrarVentaActual(); Console.WriteLine("Opciones"); Console.WriteLine("--------\n"); List <Opcion> opciones = ListaOpciones.ObtenerOpciones(); foreach (Opcion opcion in opciones) { Console.WriteLine("{0} - {1}", opcion.Codigo, opcion.Descripcion); } Console.Write("\nOpción: "); int opcionSeleccionada = 0; try { opcionSeleccionada = int.Parse(Console.ReadLine()); } catch (FormatException) { Console.Clear(); Console.WriteLine("Opción Inválida !!"); MostrarMenu(); } Console.Clear(); return(opcionSeleccionada); }
/// <summary> /// Controla el flujo de ejecución de la aplicación. /// </summary> internal void Iniciar() { while (!PuntoDeVenta.SALIR) { int opcionSeleccionada = MostrarMenu(); try { Opcion opcion = ListaOpciones.Obtener(opcionSeleccionada); opcion.EjecutarAccion(); } catch (Exception ex) { Console.WriteLine(ex.Message + "\n"); } Iniciar(); } }