Beispiel #1
0
 /// <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();
     }
 }
        /// <summary>
        /// Permite obtener una opción según su código.
        /// </summary>
        /// <param name="codigo">El código de la opción</param>
        /// <returns>La opción encontrada.</returns>
        /// <exception cref="OpcionInvalidaException">Si la opción no existe.</exception>
        internal static Opcion Obtener(int codigo)
        {
            Opcion opcion = null;

            foreach (Opcion o in opciones)
            {
                if (o.Codigo.Equals(codigo))
                {
                    opcion = o;
                    break;
                }
            }

            if (opcion == null)
            {
                throw new OpcionInvalidaException("Opción inválida.");
            }

            return(opcion);
        }