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);
         }
     }
 }
Ejemplo n.º 2
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 CodigoInvalidoException();
         }
         double dinero = ConsolaHelper.PedirDouble("dinero:");
         ResultadoExtraccion 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 (CodigoInvalidoException ciex)
     {
         Console.WriteLine(ciex.Message);
     }
     catch (DineroInsuficienteException diex)
     {
         Console.WriteLine(diex.Message);
     }
     catch (SinStockException ssex)
     {
         Console.WriteLine(ssex.Message);
     }
     catch (Exception ex)
     {
         Console.WriteLine("Error en uno de los datos ingresados: " + ex.Message + " Intente nuevamente.");
     }
 }