示例#1
0
        private static void VerDescripcionCompleta()
        {
            try
            {
                List <string> lista = expendedora.VerStockYDescripcion();

                Console.Clear();
                Console.WriteLine("LISTA COMPLETA:");
                foreach (string item in lista)
                {
                    Console.WriteLine($"{item}");
                }
            }
            catch (ExpendedoraApagadaException e)
            {
                Consola.ImprimirError(e.Message);
            }
            catch (SinStockException e)
            {
                Consola.ImprimirError(e.Message);
            }
            catch (Exception e)
            {
                Consola.ImprimirError(e.Message);
            }
        }
示例#2
0
        private static void ComprarLata()
        {
            string codigo;
            Lata   lata;
            double dineroDelUsuario;

            // Listar latas
            Console.Clear();
            Console.WriteLine("=== COMPRAR LATA === \n");
            ListarStock();

            // Elegir lata
            try
            {
                codigo = Consola.LeerString("código de lata", false);


                // Buscar lata
                lata = expendedora.BuscarLata(codigo);
                if (lata == null)
                {
                    Consola.ImprimirError($"El tipo de lata \"{codigo}\" no se encuentra en la expendedora.");
                    return;
                }
                else if (lata.Cantidad <= 0)
                {
                    Consola.ImprimirError($"No hay stock disponible de \"{lata.Nombre}\".");
                    return;
                }


                // Pedir dinero
                dineroDelUsuario = Consola.LeerDouble("su dinero");
                if (dineroDelUsuario < lata.Precio)
                {
                    Consola.ImprimirError($"Dinero insuficiente.");
                    return;
                }

                // Recibir dinero e imprimir
                lata = expendedora.ComprarLata(codigo, dineroDelUsuario);
                Console.WriteLine($"\nSu lata: {lata.ToString()}");
            }
            catch (ParametroInvalidoException e)
            {
                Consola.ImprimirError(e.Message);
                return;
            }
            catch (ExpendedoraApagadaException e)
            {
                Consola.ImprimirError(e.Message);
                return;
            }
            catch (Exception e)
            {
                Consola.ImprimirError(e.Message);
                return;
            }
        }
示例#3
0
 private static void EncenderExpendedora()
 {
     if (expendedora != null)
     {
         expendedora.Encender();
         Console.WriteLine("Expendedora encendida.");
     }
     else
     {
         Consola.ImprimirError("Se intentó encender una expendedora NULL.");
     }
 }
示例#4
0
 private static void VerBalance()
 {
     try
     {
         Console.WriteLine($"La expendedora tiene {expendedora.ContarLatas()} latas y un balance de ${expendedora.Balance}.");
     }
     catch (ExpendedoraApagadaException e)
     {
         Consola.ImprimirError(e.Message);
     }
     return;
 }
示例#5
0
        private static void AgregarLata()
        {
            Console.WriteLine("AGREGAR LATA\n");

            try
            {
                expendedora.AgregarLata(
                    Consola.LeerString("código", false),
                    Consola.LeerString("nombre", false),
                    Consola.LeerString("sabor", true),
                    Consola.LeerDouble("precio", false, false),
                    Consola.LeerDouble("volumen", false, false),
                    Consola.LeerInt("cantidad", false, true));
            }
            catch (Exception e)
            {
                Consola.ImprimirError(e.Message);
            }
        }
示例#6
0
        static void EjecutarOpcion(int opcion, out bool terminarPrograma)
        {
            terminarPrograma = false;

            Console.Clear();

            switch (opcion)
            {
            case 1:
                EncenderExpendedora();
                break;

            case 2:
                ListarStock();
                break;

            case 3:
                AgregarLata();
                break;

            case 4:
                ComprarLata();
                break;

            case 5:
                VerBalance();
                break;

            case 6:
                VerDescripcionCompleta();
                break;

            case 7:
                terminarPrograma = true;
                break;

            default:
                Consola.ImprimirError("Operación inválida.");
                break;
            }
        }
示例#7
0
        private static void ListarStock()
        {
            if (expendedora != null)
            {
                List <string> lista;

                try
                {
                    lista = expendedora.ListarLatasDisponibles();

                    if (lista.Count == 0)
                    {
                        Console.WriteLine("No hay latas cargadas en la expendedora.");
                    }
                    else
                    {
                        Console.WriteLine("LISTADO:");
                    }

                    foreach (string item in lista)
                    {
                        Console.WriteLine("  " + item);
                    }
                }
                catch (SinStockException e)
                {
                    Consola.ImprimirError(e.Message);
                }
                catch (Exception e)
                {
                    Consola.ImprimirError(e.Message);
                }
            }
            else
            {
                Consola.ImprimirError("Se intentó listar latas de una expendedora NULL.");
            }
        }