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); } } }
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."); } }