コード例 #1
0
ファイル: ExtraerLataForm.cs プロジェクト: jhconde/UBA_CAI
        private void button1_Click(object sender, EventArgs e)
        {
            if (this.textBox1.Text.Length == 0 || this.textBox2.Text.Length == 0)
            {
                MessageBox.Show("Complete los campos");
                return;
            }

            string codigoCompuesto = this.textBox1.Text;
            double dinero          = Double.Parse(this.textBox2.Text);
            Lata   lata;

            try
            {
                lata = _expendedora.ExtraerLata(codigoCompuesto, dinero);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }
            MessageBox.Show("Lata extraida: " + lata);
            ActualizarStockLista();
            ExpendedoraBaseForm.ActualizarEstado(_expendedora);
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: jhconde/UBA_CAI
        private static void ExtraerLata(Expendedora expendedora)
        {
            if (!expendedora.Encendida)
            {
                Console.WriteLine("Maquina apagada");
                return;
            }
            if (expendedora.EstaVacia())
            {
                Console.WriteLine("Maquina Vacia");
                return;
            }
            ListarStockDetalle(expendedora);
            string codigoCompuesto = ConsolaHelper.PedirString("Codigo (formato 'codigo-volumen'): ");
            double dinero          = ConsolaHelper.PedirDouble("Dinero: ");
            Lata   lata;

            try
            {
                lata = expendedora.ExtraerLata(codigoCompuesto, dinero);
            } catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return;
            }
            Console.WriteLine("Lata extraida: " + lata);
        }
コード例 #3
0
 private void btnExtraer_Click(object sender, EventArgs e)
 {
     if (txtDinero.Text == String.Empty)
     {
         MessageBox.Show("Debe ingresar el dinero para comprar la lata.");
     }
     else
     {
         try
         {
             if (ValidarCampos())
             {
                 ResultadoExtraccion result = _expendedora.ExtraerLata(TraerTipoSeleccionado(), Convert.ToDouble(txtDinero.Text));
                 if (Convert.ToDouble(txtDinero.Text) > result.Lata.Precio)
                 {
                     MessageBox.Show("Ha comprado la lata: " + result.Lata.Nombre + " sabor " + result.Lata.Sabor + "\nSu vuelto: $" + result.Vuelto.ToString());
                 }
                 else if (Convert.ToDouble(txtDinero.Text) == result.Lata.Precio)
                 {
                     MessageBox.Show("Ha comprado la lata: " + result.Lata.Nombre + " sabor " + result.Lata.Sabor);
                 }
                 CargarListaLatas(_expendedora.Latas);
                 lstExtraerLata.SelectedIndex = -1;
                 if (_expendedora.Latas.Count == 0)
                 {
                     BloquearExtraccion();
                 }
             }
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message);
         }
     }
 }
コード例 #4
0
        private static void ExtraerLata(Expendedora expendedora)
        {
            try
            {
                string c = ConsolaHelper.PedirString("código");
                double d = ConsolaHelper.PedirDouble("dinero $");

                expendedora.ExtraerLata(c, d);
                Console.WriteLine("Retire su pedido. ");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                //ExtraerLata(expendedora);
            }
        }
コード例 #5
0
        static void ExtraerLata(Expendedora expendedora)
        {
            if (Program.EstaEncendida(expendedora) && !expendedora.EstaVacia())
            {
                Console.WriteLine(LataHelper.ListarVariedades());
                try
                {
                    string codigo  = Validations.StringInsert("Ingrese el codigo del producto");
                    double volumen = Validations.DoubleInsert("Ingrese el volumen del producto", 0, double.MaxValue);
                    double precio  = Validations.DoubleInsert("Ingrese el precio del producto", 0, double.MaxValue);

                    Lata lata = new Lata(codigo, precio, volumen);
                    if (LataHelper.GetCodigoCorrecto(codigo) != "" && expendedora.GetLataSeleccionada(codigo, volumen, precio) != null)
                    {
                        double pago = Validations.DoubleInsert("Ingrese el dinero", 0, double.MaxValue);
                        Console.WriteLine(expendedora.ExtraerLata(lata, pago).ToString());
                    }
                    else if (expendedora.EstaVacia())
                    {
                        throw new CapacidadInsuficienteException();
                    }
                }
                catch (CodigoInvalidoException e)
                {
                    Console.WriteLine(e.Message + "Ingrese el codigo del producto nuevamente.");
                    Program.ExtraerLata(expendedora);
                }
                catch (DineroInsuficienteException e)
                {
                    Console.WriteLine(e.Message + "Comience nuevamente");
                    //Program.ExtraerLata(expendedora); Por si no posee el dinero.
                }
                catch (SinStockException e)
                {
                    Console.WriteLine(e.Message);
                }
            }
            else if (expendedora.EstaVacia())
            {
                throw new CapacidadInsuficienteException();
            }
            else
            {
                Console.WriteLine("La máquina expendedora se encuentra apagada. Encender");
            }
        }
コード例 #6
0
ファイル: Program.cs プロジェクト: JoseLlampa/TP-Expendedora
        private static void ExtraerLata(Expendedora expendedora)
        {
            try
            {
                Console.WriteLine("Ingrese el codigo: ");
                string c = Console.ReadLine();
                Console.WriteLine("Ingrese el dinero: ");
                double d = double.Parse(Console.ReadLine());

                expendedora.ExtraerLata(c, d);

                Console.WriteLine("Retire su pedido");
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
コード例 #7
0
        private void btnOk_Click(object sender, EventArgs e)
        {
            try
            {
                Lata l = (Lata)cmbVolumenPrecio.SelectedItem;
                _expendedora.ExtraerLata(Convert.ToString(l.Codigo), Convert.ToDouble(txtDinero.Text));

                cmbVolumenPrecio.DataSource = _expendedora.Latas;

                MessageBox.Show("Retire su bebida");


                cmbVolumenPrecio.DataSource = null;
                cmbVolumenPrecio.DataSource = _expendedora.Latas;;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
コード例 #8
0
 private static void ExtraerLata(Expendedora app)
 {
     ListarLatas(app);
     Console.WriteLine("Ingrese el código de la lata que desea extraer:");
     try
     {
         string codigo = Console.ReadLine();
         if (codigo.Length != 3 && codigo != "CO1" && codigo != "CO2" && codigo != "SP1" && codigo != "SP2" && codigo != "FA1" && codigo != "FA2")
         {
             throw new CodigoIncorrecto();
         }
         double             dinero = AyudaConsola.PedirDouble("dinero:");
         ExtraccionObtenida result = app.ExtraerLata(codigo, dinero);
         if (result.Vuelto != 0)
         {
             Console.WriteLine("Ha comprado la bebida " + result.Lata.ToString() + "\nSu vuelto es $" + result.Vuelto);
         }
         else if (result.Vuelto == 0)
         {
             Console.WriteLine("Ha comprado la bebida " + result.Lata.ToString());
         }
     }
     catch (CodigoIncorrecto ciex)
     {
         Console.WriteLine(ciex.Message);
     }
     catch (DineroInsuficiente diex)
     {
         Console.WriteLine(diex.Message);
     }
     catch (NoExisteStock ssex)
     {
         Console.WriteLine(ssex.Message);
     }
     catch (Exception ex)
     {
         Console.WriteLine("Error en uno de los datos ingresados: " + ex.Message + " Intente nuevamente.");
     }
 }
コード例 #9
0
ファイル: Program.cs プロジェクト: DMPapa/CAI_EjExpendedora
        static void Main(string[] args)
        {
            // Construcción de la Expendedora

            int eleccion;

            Expendedora e1;
            List <Lata> listaLatas = new List <Lata>();

            e1            = new Expendedora("Miguelito");
            e1.ListaLatas = listaLatas;

            listaLatas.Add(new Lata("CO1", "Coca Cola", "Regular"));
            listaLatas.Add(new Lata("CO2", "Coca Cola", "Zero"));
            listaLatas.Add(new Lata("SP1", "Sprite", "Regular"));
            listaLatas.Add(new Lata("SP2", "Sprite", "Zero"));
            listaLatas.Add(new Lata("FA1", "Fanta", "Regular"));
            listaLatas.Add(new Lata("FA2", "Fanta", "Zero"));



            // Aquí comienza la aplicación

            ConsolaHelper.PedirTexto("Bienvenido a la expendedora de: " + e1.Proveedor + ". Encienda la maquina presionando ENTER   ");
            e1.Encendida = true;

            if (e1.Encendida == true)
            {
                do
                {
                    eleccion = ConsolaHelper.PedirNumero("Selecione opción: \n1- Listado disponible \n2- Insertar lata \n3- Pedir lata \n4- Conocer balance \n5- Conocer stock y descripción \n6- Apagar \n");

                    if (eleccion > 6 || eleccion < 0)
                    {
                        ConsolaHelper.PedirNumero("\n--Debe ingresar una opción válida--\n");
                    }

                    else
                    {
                        switch (eleccion)
                        {
                        case 1:     ConsolaHelper.PedirTexto(e1.GetLatas() + "\nPresione ENTER para volver al menú\n");
                            break;

                        case 2:
                            string eleccion2 = ConsolaHelper.PedirTexto(e1.GetLatas());
                            e1.AgregarLata(eleccion2);

                            break;

                        case 3: e1.ExtraerLata();
                            break;

                        case 4: e1.GetBalance();
                            break;

                        case 5: e1.GetCapacidadRestante();
                            break;

                        case 6: e1.Encendida = false;
                            break;
                        }
                    }
                } while (e1.Encendida == true);
            }
        }