示例#1
0
        static void Main(string[] args)
        {
            int         opcionMenu  = 0;
            Expendedora expendedora = new Expendedora();
            double      precio;
            double      volumen;
            CodigoLata  codigoLata;

            MostrarEstadoDe(expendedora);
            while (opcionMenu != 6)
            {
                opcionMenu = PedirOpcionMenu();
                switch (opcionMenu)
                {
                case 0:
                    //Encender maquina
                    expendedora.EncenderMaquina();
                    break;

                case 1:
                    //Listado de Latas disponibles
                    ListarLatas(expendedora);
                    break;

                case 2:
                    expendedora.EncenderMaquina();
                    ListarLatas(expendedora);
                    codigoLata = PedirCodigoLata();
                    precio     = PedirNumero("Ingrese el precio");
                    volumen    = PedirNumero("Ingrese el volumen");
                    try
                    {
                        expendedora.AgregarLata(new Lata(codigoLata, precio, volumen));
                        Console.WriteLine("Lata agregada exitosamente");
                    }
                    catch (CapacidadInsuficienteException ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                    break;

                case 3:
                    expendedora.EncenderMaquina();
                    if (expendedora.GetCapacidadRestante() > 0)
                    {
                        expendedora.AgregarLata(new Lata("CO1", 5, 500));
                    }

                    ListarLatas(expendedora);
                    try
                    {
                        expendedora.ExtraerLata(PedirCodigoLata(), PedirNumero("Ingrese el dinero"));
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                    }

                    break;

                case 4:
                    expendedora.EncenderMaquina();
                    MostrarEstadoDe(expendedora);
                    break;

                case 5:
                    expendedora.EncenderMaquina();
                    Console.WriteLine(expendedora.DevuelveStock());
                    break;

                default:
                    break;
                }
                MostrarEstadoDe(expendedora);
            }
        }
示例#2
0
        static void IngresarLata(Expendedora exp)
        {
            try
            {
                if (!exp.Encendida)
                {
                    Console.WriteLine("Primero debe encender la maquina para continuar.");
                }
                else
                {
                    exp.ListaLatas();
                    string codigo;

                    Console.WriteLine("Ingrese un codigo de lata: ");
                    codigo = Console.ReadLine();
                    Lata L1 = exp.BuscarLata(codigo);

                    if (L1 == null)
                    {
                        throw new CodigoInvalidoExepcion();
                    }
                    else
                    {
                        try
                        {
                            double _precio = 0;
                            string _strprecio;
                            bool   esPrecio;
                            // INGRESO PRECIO
                            do
                            {
                                Console.Write("Ingrese precio: ");
                                _strprecio = Console.ReadLine();
                                esPrecio   = new Validaciones().ValidarPrecio(_strprecio, ref _precio);
                            } while (esPrecio == false);

                            // INGRESO VOLUMEN
                            double _volumen = 0;
                            string _strvolumen;
                            bool   esVolumen;
                            do
                            {
                                Console.Write("Ingrese volumen: ");
                                _strvolumen = Console.ReadLine();
                                esVolumen   = new Validaciones().ValidarPrecio(_strvolumen, ref _volumen);
                            } while (esVolumen == false);

                            Lata Lata = new Lata(L1.Codigo, L1.Nombre, L1.Sabor, _precio, _volumen);

                            exp.AgregarLata(Lata);

                            Console.WriteLine("Lata agregada con exito");
                        } catch (CapacidadInsuficienteExcepcion ee)
                        {
                            Console.WriteLine(ee.Message);
                        }
                    }
                }
            }
            catch (CodigoInvalidoExepcion ex)
            {
                Console.WriteLine(ex.Message);
            }
        }