示例#1
0
        private static void AgregarLata(Libreria.Clases.MaquinaExpendedora maquina)
        {
            try
            {
                GetListadoLatas(maquina);

                string c = ConsolaHelper.PedirString("código de la lata");

                Console.Clear();

                Libreria.Clases.Lata lata = maquina.BuscarPorCodigo(c);

                if (lata != null)
                {
                    Console.WriteLine(string.Format("({0}) {1} {2}", lata.Codigo, lata.Nombre, lata.Sabor));

                    double p = ConsolaHelper.PedirDouble("precio de la lata");
                    double v = ConsolaHelper.PedirDouble("volumen de la lata");

                    maquina.AgregarLata(c, p, v);

                    Console.WriteLine(string.Format("Se agregó con éxito la lata de {0} {1} a la máquina", lata.Nombre, lata.Sabor));
                }
                else
                {
                    throw new Libreria.Excepciones.CodigoInvalidoException(c);
                }
            }
            catch (Libreria.Excepciones.CodigoInvalidoException ex)
            {
                Console.WriteLine(ex.Message);
            }
            catch (Libreria.Excepciones.CapacidadInsuficienteException ex)
            {
                Console.WriteLine(ex.Message);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
示例#2
0
        private static void ExtraerLata(Libreria.Clases.MaquinaExpendedora maquina)
        {
            try
            {
                MostrarStock(maquina);

                string c = ConsolaHelper.PedirString("código de la lata");

                Console.Clear();

                Libreria.Clases.Lata lata = maquina.BuscarPorCodigo(c);

                if (lata != null)
                {
                    Console.WriteLine(string.Format("({0}) {1} {2}", lata.Codigo, lata.Nombre, lata.Sabor));

                    double p = ConsolaHelper.PedirDouble("dinero a ingresar");

                    maquina.RetirarLata(c, p);

                    Console.WriteLine(string.Format("Se retiró con éxito la lata de {0} {1} de la máquina, ingresando ${2}", lata.Nombre, lata.Sabor, p));
                }
                else
                {
                    throw new Libreria.Excepciones.CodigoInvalidoException(c);
                }
            }
            catch (Libreria.Excepciones.CodigoInvalidoException ex)
            {
                Console.WriteLine(ex.Message);
            }
            catch (Libreria.Excepciones.SinStockException ex)
            {
                Console.WriteLine(ex.Message);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
示例#3
0
        static void Main(string[] args)
        {
            Libreria.Clases.MaquinaExpendedora maquina = new Libreria.Clases.MaquinaExpendedora("Coca Cola");

            string titulo = "Máquina expendedora:\n";

            string menu = "1) Ingresar lata\n2) Extraer lata\n3) Obtener balance\n4) Mostrar stock\nX) Apagar máquina\n";

            bool sigueActivo = true;

            do
            {
                Console.Clear();
                Console.WriteLine(titulo);
                Console.WriteLine(menu);
                try
                {
                    string opcionSeleccionada = ConsolaHelper.PedirString("una opción de la pantalla:");
                    if (ConsolaHelper.EsOpcionValida(opcionSeleccionada, "1234X"))
                    {
                        if (opcionSeleccionada.ToUpper() == "X")
                        {
                            sigueActivo = false;
                            continue;
                        }
                        switch (opcionSeleccionada)
                        {
                        case "1":
                            AgregarLata(maquina);
                            break;

                        case "2":
                            ExtraerLata(maquina);
                            break;

                        case "3":
                            ObtenerBalance(maquina);
                            break;

                        case "4":
                            MostrarStock(maquina);
                            break;

                        default:
                            throw new Exception("Opción inválida");
                        }

                        Console.ReadKey();
                    }
                    else
                    {
                        throw new Exception("Opción inválida.");
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(string.Format("Ocurrió un error en la aplicación. {0} Intente nuevamente.", ex.Message));
                    Console.ReadKey();
                }
            } while (sigueActivo);

            Console.WriteLine("Se apagó la máquina.");
            Console.ReadKey();
        }