private static void VerDescripcionCompleta() { try { List <string> lista = expendedora.VerStockYDescripcion(); Console.Clear(); Console.WriteLine("LISTA COMPLETA:"); foreach (string item in lista) { Console.WriteLine($"{item}"); } } catch (ExpendedoraApagadaException e) { Consola.ImprimirError(e.Message); } catch (SinStockException e) { Consola.ImprimirError(e.Message); } catch (Exception e) { Consola.ImprimirError(e.Message); } }
private static void ComprarLata() { string codigo; Lata lata; double dineroDelUsuario; // Listar latas Console.Clear(); Console.WriteLine("=== COMPRAR LATA === \n"); ListarStock(); // Elegir lata try { codigo = Consola.LeerString("código de lata", false); // Buscar lata lata = expendedora.BuscarLata(codigo); if (lata == null) { Consola.ImprimirError($"El tipo de lata \"{codigo}\" no se encuentra en la expendedora."); return; } else if (lata.Cantidad <= 0) { Consola.ImprimirError($"No hay stock disponible de \"{lata.Nombre}\"."); return; } // Pedir dinero dineroDelUsuario = Consola.LeerDouble("su dinero"); if (dineroDelUsuario < lata.Precio) { Consola.ImprimirError($"Dinero insuficiente."); return; } // Recibir dinero e imprimir lata = expendedora.ComprarLata(codigo, dineroDelUsuario); Console.WriteLine($"\nSu lata: {lata.ToString()}"); } catch (ParametroInvalidoException e) { Consola.ImprimirError(e.Message); return; } catch (ExpendedoraApagadaException e) { Consola.ImprimirError(e.Message); return; } catch (Exception e) { Consola.ImprimirError(e.Message); return; } }
private static void EncenderExpendedora() { if (expendedora != null) { expendedora.Encender(); Console.WriteLine("Expendedora encendida."); } else { Consola.ImprimirError("Se intentó encender una expendedora NULL."); } }
private static void VerBalance() { try { Console.WriteLine($"La expendedora tiene {expendedora.ContarLatas()} latas y un balance de ${expendedora.Balance}."); } catch (ExpendedoraApagadaException e) { Consola.ImprimirError(e.Message); } return; }
private static void AgregarLata() { Console.WriteLine("AGREGAR LATA\n"); try { expendedora.AgregarLata( Consola.LeerString("código", false), Consola.LeerString("nombre", false), Consola.LeerString("sabor", true), Consola.LeerDouble("precio", false, false), Consola.LeerDouble("volumen", false, false), Consola.LeerInt("cantidad", false, true)); } catch (Exception e) { Consola.ImprimirError(e.Message); } }
static void EjecutarOpcion(int opcion, out bool terminarPrograma) { terminarPrograma = false; Console.Clear(); switch (opcion) { case 1: EncenderExpendedora(); break; case 2: ListarStock(); break; case 3: AgregarLata(); break; case 4: ComprarLata(); break; case 5: VerBalance(); break; case 6: VerDescripcionCompleta(); break; case 7: terminarPrograma = true; break; default: Consola.ImprimirError("Operación inválida."); break; } }
private static void ListarStock() { if (expendedora != null) { List <string> lista; try { lista = expendedora.ListarLatasDisponibles(); if (lista.Count == 0) { Console.WriteLine("No hay latas cargadas en la expendedora."); } else { Console.WriteLine("LISTADO:"); } foreach (string item in lista) { Console.WriteLine(" " + item); } } catch (SinStockException e) { Consola.ImprimirError(e.Message); } catch (Exception e) { Consola.ImprimirError(e.Message); } } else { Consola.ImprimirError("Se intentó listar latas de una expendedora NULL."); } }