Exemple #1
0
        private void SeleccionarOpcion(SistemaDeAparcamiento sistemaDeAparcamiento)
        {
            var indice = 1;

            _opciones.ForEach(nombre => sistemaDeAparcamiento.EscribirAConsola($"{indice++}) {nombre}"));

            sistemaDeAparcamiento.EscribirAConsola("Indique de cuál playa está egresando:");
            while (IngresoUnaOpcionInvalida(sistemaDeAparcamiento))
            {
                sistemaDeAparcamiento.EscribirAConsola("Opcion inválida, por favor vuelva a intentar: ");
            }

            _opcionSeleccionada--;
        }
Exemple #2
0
        public void Ejecutar(SistemaDeAparcamiento sistemaDeAparcamiento)
        {
            if (!sistemaDeAparcamiento.EstacionarEn(_nombre))
            {
                sistemaDeAparcamiento.EscribirAConsola("No se puede estacionar en esta playa.");
            }
            else
            {
                sistemaDeAparcamiento.EscribirAConsola("Auto estacionado correctamente.");

                if (sistemaDeAparcamiento.HayEspacioDisponibleEn(_nombre))
                {
                    sistemaDeAparcamiento.EscribirAConsola($" Aún queda espacio para {sistemaDeAparcamiento.ObtenerEspacioDisponibleEn(_nombre)} vehículo/s.");
                }
                else
                {
                    sistemaDeAparcamiento.EscribirAConsola(" Ya no hay más lugar disponible en esta playa.");
                }
            }
        }
Exemple #3
0
 public void Ejecutar(SistemaDeAparcamiento sistemaDeAparcamiento)
 {
     ObtenerOpcionesDelSubMenu(sistemaDeAparcamiento);
     if (NoHayOpcionesValidas())
     {
         sistemaDeAparcamiento.EscribirAConsola("No hay vehículos estacionados en el playón.");
     }
     else
     {
         SeleccionarOpcion(sistemaDeAparcamiento);
         if (SeleccionoUnaPlaya())
         {
             if (sistemaDeAparcamiento.EgresarDe(_opciones[_opcionSeleccionada]))
             {
                 sistemaDeAparcamiento.EscribirAConsola($"Auto egresado correctamente de playa {_opciones[_opcionSeleccionada]}");
             }
             else
             {
                 sistemaDeAparcamiento.EscribirAConsola($"No es posible egresar un auto de la playa {_opciones[_opcionSeleccionada]}");
             }
         }
     }
 }
Exemple #4
0
 private bool IngresoUnaOpcionInvalida(SistemaDeAparcamiento sistemaDeAparcamiento) =>
 !int.TryParse(sistemaDeAparcamiento.LeerDeConsola(), out _opcionSeleccionada) || _opcionSeleccionada <1 || _opcionSeleccionada> _opciones.Count;
Exemple #5
0
 private List <string> ObtenerOpcionesDelSubMenu(SistemaDeAparcamiento sistemaDeAparcamiento) =>
 _opciones = sistemaDeAparcamiento
             .ListarPlayas()
             .Where(playa => sistemaDeAparcamiento.HayAutosEstacionadosEn(playa))
             .Concat(_opcionParaVolverAtras)
             .ToList();
Exemple #6
0
 public void Ejecutar(SistemaDeAparcamiento sistemaDeAparcamiento) =>
 sistemaDeAparcamiento.MostrarMensajeFinal();
 public void Ejecutar(SistemaDeAparcamiento sistemaDeAparcamiento) =>
 sistemaDeAparcamiento.MostrarCantidadDeAutosEstacionados();