private void evaluarCajero(Cajero elCajero, bool condicion) { if (elCajero.getLibre != condicion) { throw new CajeroNoDisponibleException(elCajero.ToString()); } }
//---------------------3.2 SELECCIONDECAJA>>>>OPCIONMENUCLIENTE public bool CargarCaja() { try{ int num1 = int.Parse(Console.ReadLine()); num1--; Cajero PreCajaCompra = (Cajero)ListaCaja[num1]; evaluarCaja(PreCajaCompra, false, num1); CajaCompra = PreCajaCompra; // 3.Requisito de Compra numCajaCompra = ++num1; // 4.Requisito de Compra return(false); } catch (IndexOutOfRangeException) { Console.WriteLine("\nHay un error en el número ingresado, la caja no ha sido seleccionada."); } catch (ArgumentOutOfRangeException) { Console.WriteLine("\nHay un error en el número ingresado, la caja no ha sido seleccionada."); } catch (CajaNoDisponibleException f) { Console.WriteLine("\nLa caja " + (f.num + 1) + " no esta abierta"); } catch (FormatException) { Console.WriteLine("\nHay un error en el número ingresado, la caja no ha sido seleccionada."); } Console.ReadKey(true); return(true); }
//***********************Fin de class Program************************************************ private void evaluarCaja(Cajero laCaja, bool condicion, int num) { if (laCaja.getLibre != condicion) { throw new CajaNoDisponibleException(laCaja.ToString(), num); } }
public string verCaja() { string est; if (this.getEstado()) { est = "Abierta"; } else { est = "Cerrada"; } if (this.CajeroAcargo != null) { Cajero cajero = this.getCajeroAcargo(); return("Caja Nº: " + this.getCodigoCaja() + " --> Estado de la caja: " + est + " --> Cajero a cargo: " + (string)cajero.getNombre() + " " + cajero.getApellido()); } else { return("Caja Nº: " + this.getCodigoCaja() + " --> Estado de la caja: " + est); } }
//-------------------------2.3 OPCIONCERRARCAJA>>>>MODULOCAJA public void OpcionCerrarCaja() // { Console.WriteLine("\n¿Qué caja desea cerrar [1-5]?"); // string dato1 = Console.ReadLine(); try{ int num1 = int.Parse(dato1); num1--; Cajero unaCaja = (Cajero)ListaCaja[num1]; // evaluarCaja(unaCaja, false, num1); int num2 = numLista(unaCaja, ListaCajero); unaCaja.getLibre = true; ListaCaja[num1] = new Cajero(); ListaCajero[num2] = unaCaja; Console.WriteLine("La caja " + (num1 + 1) + " fue cerrada"); // } catch (IndexOutOfRangeException) { Console.WriteLine("\nHay un error en los datos ingresados, la caja no realizó cambios."); } catch (ArgumentOutOfRangeException) { Console.WriteLine("\nHay un error en los datos ingresados, la caja no realizó cambios."); } catch (CajaNoDisponibleException f) // { Console.WriteLine("\nLa caja " + (f.num + 1) + " no esta abierta"); } catch (FormatException) { Console.WriteLine("\nHay un error en los datos ingresados, la caja no realizó cambios."); } }
public Compra(ArrayList ListProducto, ArrayList ListCantidad, Cajero unCajero, int numCaja, Cliente unCliente) { this.ListaProducto = ListProducto; this.ListaCantidad = ListCantidad; this.elCajero = unCajero; this.laCaja = numCaja; this.elCliente = unCliente; }
public BaseDeDato(string Nombre) { this.Nombre = Nombre; for (int i = 0; i < 5; i++) { Cajero estadoCaja = new Cajero(); ListaCaja[i] = estadoCaja; } }
//-------------------------2.2 OPCIONABRIRCAJA>>>>MODULOCAJA public void OpcionAbrirCaja() { Console.WriteLine("\n¿Qué caja desea abrir [1-5]?"); string dato1 = Console.ReadLine(); try{ int num1 = int.Parse(dato1); num1--; Cajero unaCaja = (Cajero)ListaCaja[num1]; evaluarCaja(unaCaja, true, num1); Console.WriteLine("\nSeleccione el cajero que va atender en la caja\n"); Txt_ListaCajero(); int num2 = int.Parse(Console.ReadLine()); num2--; Cajero unCajero = (Cajero)ListaCajero[num2]; evaluarCajero(unCajero, true); //FALTA REUTILIZAR EL CAJERO SALIENTE unCajero.getLibre = false; ListaCaja[num1] = unCajero; ListaCajero[num2] = unCajero; Console.WriteLine("La caja " + (num1 + 1) + " fue abierta"); } catch (IndexOutOfRangeException) { Console.WriteLine("\nHay un error en los datos ingresados, la caja no fue dado de alta."); } catch (ArgumentOutOfRangeException) { Console.WriteLine("\nHay un error en los datos ingresados, la caja no fue dado de alta."); } catch (CajaNoDisponibleException f) { Console.WriteLine("\nLa caja " + (f.num + 1) + " ya está siendo atendida por " + f.fuente); } catch (CajeroNoDisponibleException g) { Console.WriteLine("\n" + g.fuente + " ya está trabajando en otra caja"); } catch (FormatException) { Console.WriteLine("\nHay un error en los datos ingresados, la caja no fue dado de alta."); } }
//precarga de las cajas public void preCargaCajas(ArrayList listaProductos, ArrayList listaPromociones, ArrayList listaCajas, ArrayList listaCajeros, ArrayList listaClientes) { //crea las cajas Caja caja1 = new Caja(1); Caja caja2 = new Caja(2); Caja caja3 = new Caja(3); Caja caja4 = new Caja(4); Caja caja5 = new Caja(5); //agrega las cajas a la listaCajas listaCajas.Add(caja1); listaCajas.Add(caja2); listaCajas.Add(caja3); listaCajas.Add(caja4); listaCajas.Add(caja5); //crea los cajeros Cajero cajero1 = new Cajero(); Cajero cajero2 = new Cajero(); //carga los datos de los cajeros cajero1.setCodigoCajero(1); cajero1.setNombre("Mariano"); cajero1.setApellido("Rojas"); cajero1.setDni("35224926"); cajero1.setHorario("de 12 a 20"); cajero2.setCodigoCajero(2); cajero2.setNombre("Matias"); cajero2.setApellido("Perez"); cajero2.setDni("37138426"); cajero2.setHorario("de 8 a 14"); //agrega los cajeros a la listaCajeros listaCajeros.Add(cajero1); listaCajeros.Add(cajero2); //carga cajeros a las cajas creadas y le cambio el estado a abierto caja1.setCajeroAcargo(cajero1); caja1.setEstado(true); caja3.setCajeroAcargo(cajero2); caja3.setEstado(true); }
//------------------------------MODULOCAJA------------------------------// //-------------------------2.1 OPCIONAGREGARCAJERO>>>>MODULOCAJA public void OpcionAgregarCajero() { Console.WriteLine("Ingrese el nombre"); string dato1 = Console.ReadLine(); Console.WriteLine("Ingrese el apellido"); string dato2 = Console.ReadLine(); Console.WriteLine("Ingrese el dni"); string dato3 = Console.ReadLine(); Console.WriteLine("Ingrese el horario de trabajo(XX-XX ej. 08-15)"); string dato4 = Console.ReadLine(); try{ evaluarString(dato1); evaluarString(dato2); int num3 = int.Parse(dato3); string [] num4 = ObtenerHorario(dato4); Cajero unCajero = new Cajero(dato1, dato2, num3, num4); enlistarObjeto(unCajero, ListaCajero); Console.WriteLine("\nEl cajero fue dado de alta correctamente."); } catch (DatoVacioException) { Console.WriteLine("\nHay un error en los datos ingresados, el cajero no fue dado de alta."); } catch (HoraErroneaException) { Console.WriteLine("\nHay un error en los datos ingresados, el cajero no fue dado de alta."); } catch (FormatException) { Console.WriteLine("\nHay un error en los datos ingresados, el cajero no fue dado de alta."); } catch (IndexOutOfRangeException) { Console.WriteLine("\nHay un error en los datos ingresados, el cajero no fue dado de alta."); } }
//creo la funcion con los parametros que recibe de los otros menues public void iniciar(ArrayList listaProductos, ArrayList listaPromociones, ArrayList listaCajas, ArrayList listaCajeros, ArrayList listaClientes) { Console.WriteLine("C A J A S"); Console.WriteLine(""); Console.WriteLine("Ingrese un número:"); Console.WriteLine("1 --> Nuevo cajero"); Console.WriteLine("2 --> Abrir caja"); Console.WriteLine("3 --> Cerrar caja"); Console.WriteLine("4 --> Listado de cajas"); Console.WriteLine("5 --> Volver al menu principal"); Console.WriteLine(""); string ac = Console.ReadLine(); try{ long accion = long.Parse(ac); while (accion != 5) { switch (accion) { case 1: Console.Clear(); Console.WriteLine("C A J A S [Carga-cajero]"); Console.WriteLine(""); Console.Write("Ingrese el nombre: "); string nombre = Console.ReadLine(); Console.Write("Ingrese el apellido: "); string apellido = Console.ReadLine(); Console.Write("Ingrese el dni: "); string dni = Console.ReadLine(); Console.Write("Ingrese el horario de trabajo: "); string horario = Console.ReadLine(); int cantidadCajeros = listaCajeros.Count; //crea un cajero, los setea y lo agrega a listaCajeros Cajero cajero = new Cajero(); cajero.setCodigoCajero(cantidadCajeros + 1); cajero.setNombre(nombre); cajero.setApellido(apellido); cajero.setDni(dni); cajero.setHorario(horario); listaCajeros.Add(cajero); Console.Clear(); Console.WriteLine("C A J A S"); Console.WriteLine(""); Console.WriteLine("Ingrese un número:"); Console.WriteLine("1 --> Nuevo cajero"); Console.WriteLine("2 --> Abrir caja"); Console.WriteLine("3 --> Cerrar caja"); Console.WriteLine("4 --> Listado de cajas"); Console.WriteLine("5 --> Volver al menu principal"); Console.WriteLine(""); ac = Console.ReadLine(); accion = long.Parse(ac); break; case 2: Console.Clear(); Console.WriteLine("C A J A S [Abrir-caja]"); Console.WriteLine(""); Console.WriteLine("Ingrese el número de la caja a abrir [del 1 al 5]:"); string CodCaja = Console.ReadLine(); int CodigoCaja = int.Parse(CodCaja); Console.Clear(); Console.WriteLine("C A J A S [Abrir-caja]"); Console.WriteLine(""); Console.WriteLine("Ingrese el Nº del cajero a cargo:"); Console.WriteLine(""); Console.WriteLine("Lista de cajeros cargados:"); //lista los cajeros foreach (Cajero cajero1 in listaCajeros) { Console.WriteLine("Nº" + cajero1.getCodigoCajero() + " " + cajero1.getApellido() + ", " + cajero1.getNombre() + "."); } Console.WriteLine(""); string CajeroAcargo = Console.ReadLine(); int codigoCajero = int.Parse(CajeroAcargo); Caja cajaASetear = null; foreach (Caja caja in listaCajas) { if (caja.getCodigoCaja() == CodigoCaja) { cajaASetear = caja; } } //crea una variable booleana para verificar si el cajero //recibido por parametro ya está atendiendo. bool tieneCajero = false; int codCaja = 0; //realiza la funcion para verificar si el cajero está en alguna caja foreach (Caja caja in listaCajas) { Cajero cajeroCaja = caja.getCajeroAcargo(); if (cajeroCaja != null) { if (cajeroCaja.getCodigoCajero() == codigoCajero) { tieneCajero = true; codCaja = caja.getCodigoCaja(); } } } //si el cajero está en alguna caja muestra un mensaje //de que no se puede asignar a una caja. if (tieneCajero == true) { Console.WriteLine("El cajero ya está atendiendo la caja N° " + codCaja); Console.WriteLine("Pulse cualquier tecla para volver..."); Console.ReadKey(); } else { //se verifica si algun cajero ya está atendiendo la caja a abrir if (cajaASetear.getCajeroAcargo() != null) { Cajero cajeroSeteado = (Cajero)cajaASetear.getCajeroAcargo(); Console.WriteLine("La caja " + cajaASetear.getCodigoCaja().ToString() + " ya esta siendo atendida por " + cajeroSeteado.getNombre() + " " + cajeroSeteado.getApellido()); Console.WriteLine("Presione alguna tecla para volver..."); Console.ReadKey(); } else { foreach (Cajero cajeroFiltro in listaCajeros) { if (cajeroFiltro.getCodigoCajero() == codigoCajero) { cajaASetear.setCajeroAcargo(cajeroFiltro); cajaASetear.setEstado(true); } } } } Console.Clear(); Console.WriteLine("C A J A S"); Console.WriteLine(""); Console.WriteLine("Ingrese un número:"); Console.WriteLine("1 --> Nuevo cajero"); Console.WriteLine("2 --> Abrir caja"); Console.WriteLine("3 --> Cerrar caja"); Console.WriteLine("4 --> Listado de cajas"); Console.WriteLine("5 --> Volver al menu principal"); Console.WriteLine(""); ac = Console.ReadLine(); accion = long.Parse(ac); break; case 3: Console.Clear(); Console.WriteLine("C A J A S [Cerrar-caja]"); Console.WriteLine(""); Console.WriteLine("Ingrese el número de la caja a cerrar [del 1 al 5]:"); CodCaja = Console.ReadLine(); CodigoCaja = int.Parse(CodCaja); foreach (Caja caja in listaCajas) { if (caja.getCodigoCaja() == CodigoCaja) { caja.setEstado(false); caja.setCajeroAcargo(null); } } Console.Clear(); Console.WriteLine("C A J A S"); Console.WriteLine(""); Console.WriteLine("Ingrese un número:"); Console.WriteLine("1 --> Nuevo cajero"); Console.WriteLine("2 --> Abrir caja"); Console.WriteLine("3 --> Cerrar caja"); Console.WriteLine("4 --> Listado de cajas"); Console.WriteLine("5 --> Volver al menu principal"); Console.WriteLine(""); ac = Console.ReadLine(); accion = long.Parse(ac); break; case 4: Console.Clear(); Console.WriteLine("C A J A S [lista-cajas]"); Console.WriteLine(""); foreach (Caja caj in listaCajas) { Console.WriteLine(caj.verCaja()); } Console.WriteLine(""); Console.WriteLine("Presione alguna tecla para volver..."); Console.ReadLine(); Console.Clear(); Console.WriteLine("C A J A S"); Console.WriteLine(""); Console.WriteLine("Ingrese un número:"); Console.WriteLine("1 --> Nuevo cajero"); Console.WriteLine("2 --> Abrir caja"); Console.WriteLine("3 --> Cerrar caja"); Console.WriteLine("4 --> Listado de cajas"); Console.WriteLine("5 --> Volver al menu principal"); Console.WriteLine(""); ac = Console.ReadLine(); accion = long.Parse(ac); break; default: Console.Clear(); Console.WriteLine("C A J A S"); Console.WriteLine(""); Console.WriteLine("Ingrese otro número:"); Console.WriteLine("1 --> Nuevo cajero"); Console.WriteLine("2 --> Abrir caja"); Console.WriteLine("3 --> Cerrar caja"); Console.WriteLine("4 --> Listado de cajas"); Console.WriteLine("5 --> Volver al menu principal"); Console.WriteLine(""); Console.WriteLine("El número ingresado no es valido, vuelva a ingresar:"); ac = Console.ReadLine(); accion = long.Parse(ac); break; } } }catch { Console.Clear(); Console.WriteLine("*******************************************************"); Console.WriteLine("Ha ingresado carácteres no válidos vuelva a intentarlo"); Console.WriteLine("*******************************************************"); Console.WriteLine(""); this.iniciar(listaProductos, listaPromociones, listaCajas, listaCajeros, listaClientes); } Console.Clear(); //pasa parametros a la funcion volverSupermercado this.volverSupermercado(listaProductos, listaPromociones, listaCajas, listaCajeros, listaClientes); }
public void setCajeroAcargo(Cajero nuevoCajeroAcargo) { this.CajeroAcargo = nuevoCajeroAcargo; }
public void iniciar(ArrayList listaProductos, ArrayList listaPromociones, ArrayList listaCajas, ArrayList listaCajeros) { Console.WriteLine("C A J A S"); Console.WriteLine(""); Console.WriteLine("Ingrese un número:"); Console.WriteLine("1 --> Nuevo cajero"); Console.WriteLine("2 --> Abrir caja"); Console.WriteLine("3 --> Cerrar caja"); Console.WriteLine("4 --> Listado de cajas"); Console.WriteLine("5 --> Volver al menu principal"); Console.WriteLine(""); string ac = Console.ReadLine(); int accion = int.Parse(ac); while (accion != 5) { switch (accion) { case 1: Console.Clear(); Console.WriteLine("C A J A S [Carga-cajero]"); Console.WriteLine(""); Console.Write("Ingrese el nombre: "); string nombre = Console.ReadLine(); Console.Write("Ingrese el apellido: "); string apellido = Console.ReadLine(); Console.Write("Ingrese el dni: "); string d = Console.ReadLine(); int dni = int.Parse(d); Console.Write("Ingrese el horario de trabajo: "); string horario = Console.ReadLine(); int cantidadCajeros = listaCajeros.Count; Cajero cajero = new Cajero(); cajero.setCodigoCajero(cantidadCajeros); cajero.Nombre = nombre; cajero.Apellido = apellido; cajero.Dni = dni; cajero.setHorario(horario); listaCajeros.Add(cajero); Console.Clear(); Console.WriteLine("C A J A S"); Console.WriteLine(""); Console.WriteLine("Ingrese un número:"); Console.WriteLine("1 --> Nuevo cajero"); Console.WriteLine("2 --> Abrir caja"); Console.WriteLine("3 --> Cerrar caja"); Console.WriteLine("4 --> Listado de cajas"); Console.WriteLine("5 --> Volver al menu principal"); Console.WriteLine(""); ac = Console.ReadLine(); accion = int.Parse(ac); break; case 2: Console.Clear(); Console.WriteLine("C A J A S [Abrir-caja]"); Console.WriteLine(""); Console.WriteLine("Ingrese el número de la caja a abrir [del 1 al 5]:"); string CodCaja = Console.ReadLine(); int CodigoCaja = int.Parse(CodCaja); Console.Clear(); Console.WriteLine("C A J A S [Abrir-caja]"); Console.WriteLine(""); Console.WriteLine("Ingrese el Nº del cajero a cargo:"); Console.WriteLine(""); Console.WriteLine("Lista de cajeros cargados:"); foreach (Cajero cajero1 in listaCajeros) { Console.WriteLine("Nº" + cajero1.getCodigoCajero() + " " + cajero1.Apellido + ", " + cajero1.Nombre + "."); } Console.WriteLine(""); string CajeroAcargo = Console.ReadLine(); int codigoCajero = int.Parse(CajeroAcargo); Caja caja = new Caja(CodigoCaja); caja.setEstado(true); foreach (Cajero cajeroFiltro in listaCajeros) { if (cajeroFiltro.getCodigoCajero() == codigoCajero) { caja.setCajeroAcargo(cajeroFiltro); } } listaCajas.Add(caja); Console.Clear(); Console.WriteLine("C A J A S"); Console.WriteLine(""); Console.WriteLine("Ingrese un número:"); Console.WriteLine("1 --> Nuevo cajero"); Console.WriteLine("2 --> Abrir caja"); Console.WriteLine("3 --> Cerrar caja"); Console.WriteLine("4 --> Listado de cajas"); Console.WriteLine("5 --> Volver al menu principal"); Console.WriteLine(""); ac = Console.ReadLine(); accion = int.Parse(ac); break; case 3: Console.Clear(); Console.WriteLine("C A J A S [Cerrar-caja]"); Console.WriteLine(""); Console.WriteLine("Ingrese el número de la caja a cerrar [del 1 al 5]:"); CodCaja = Console.ReadLine(); CodigoCaja = int.Parse(CodCaja); Console.Clear(); Console.WriteLine("C A J A S"); Console.WriteLine(""); Console.WriteLine("Ingrese un número:"); Console.WriteLine("1 --> Nuevo cajero"); Console.WriteLine("2 --> Abrir caja"); Console.WriteLine("3 --> Cerrar caja"); Console.WriteLine("4 --> Listado de cajas"); Console.WriteLine("5 --> Volver al menu principal"); Console.WriteLine(""); ac = Console.ReadLine(); accion = int.Parse(ac); break; case 4: Console.Clear(); Console.WriteLine("C A J A S [lista-cajas]"); Console.WriteLine(""); foreach (Caja caj in listaCajas) { Console.WriteLine((string)caj.verCaja()); } Console.WriteLine(""); Console.WriteLine("Presione alguna tecla para volver..."); Console.ReadLine(); Console.Clear(); Console.WriteLine("C A J A S"); Console.WriteLine(""); Console.WriteLine("Ingrese un número:"); Console.WriteLine("1 --> Nuevo cajero"); Console.WriteLine("2 --> Abrir caja"); Console.WriteLine("3 --> Cerrar caja"); Console.WriteLine("4 --> Listado de cajas"); Console.WriteLine("5 --> Volver al menu principal"); Console.WriteLine(""); ac = Console.ReadLine(); accion = int.Parse(ac); break; default: Console.Clear(); Console.WriteLine("C A J A S"); Console.WriteLine(""); Console.WriteLine("Ingrese un número:"); Console.WriteLine("1 --> Nuevo cajero"); Console.WriteLine("2 --> Abrir caja"); Console.WriteLine("3 --> Cerrar caja"); Console.WriteLine("4 --> Listado de cajas"); Console.WriteLine("5 --> Volver al menu principal"); Console.WriteLine(""); ac = Console.ReadLine(); accion = int.Parse(ac); break; } } Console.Clear(); this.volverSupermercado(listaProductos, listaPromociones, listaCajas, listaCajeros); }
//creo la funcion con los parametros que recibe de los otros menues public void iniciar(ArrayList listaProductos, ArrayList listaPromociones, ArrayList listaCajas, ArrayList listaCajeros, ArrayList listaClientes) { Console.WriteLine("P R O D U C T O S [Compra-productos]"); Console.WriteLine(""); Console.WriteLine("Listado de productos: "); //lista los productos numerados int i = 1; foreach (Producto cadaProducto in listaProductos) { Console.WriteLine(i + "--> " + cadaProducto.mostrarProducto()); i++; } Console.WriteLine(""); Console.WriteLine("----------------------------------------"); Console.WriteLine("Productos en el carrito"); Console.WriteLine("----------------------------------------"); //crea un carrito Carrito carrito = new Carrito(); //si el objecto carrito tiene productos, llama a la funcion mostrarProdDelCarrito if (carrito.productosEnCarrito != null) { carrito.mostrarProdDelCarrito(); } Console.WriteLine(""); Console.WriteLine("Agregue un producto al carro o 0 para finalizar"); string aPr = Console.ReadLine(); int agregarProducto; // manejo excepcion de producto no valido. si pone letras o // cualquier cosa deja el carrito vacio //try{ agregarProducto = int.Parse(aPr); //}catch{ //agregarProducto = 0; //} while (agregarProducto != 0) { //obtiene el producto seleccionado en la posicion que selecciona el usuario Producto prodSeleccionado = (Producto)listaProductos [agregarProducto - 1]; Console.WriteLine(""); Console.WriteLine("¿Cuantas unidades desea agregar?"); string cAg = Console.ReadLine(); int cantAgregar = int.Parse(cAg); //el objeto carrito llama a la funcion agregar y carga el producto mas la cantidad carrito.agregarProducto(prodSeleccionado, cantAgregar); Console.Clear(); Console.WriteLine("P R O D U C T O S [Compra-productos]"); Console.WriteLine(""); Console.WriteLine("Listado de productos: "); //lista los productos numerados i = 1; foreach (Producto cadaProducto in listaProductos) { Console.WriteLine(i + "--> " + cadaProducto.mostrarProducto()); i++; } Console.WriteLine(""); Console.WriteLine("----------------------------------------"); Console.WriteLine("Productos en el carrito"); Console.WriteLine("----------------------------------------"); //si el objecto carrito tiene productos, llama a la funcion mostrarProdDelCarrito if (carrito.productosEnCarrito != null) { carrito.mostrarProdDelCarrito(); } Console.WriteLine("----------------------------------------"); Console.WriteLine(""); Console.WriteLine("Agregue un producto al carro o 0 para finalizar"); aPr = Console.ReadLine(); agregarProducto = int.Parse(aPr); } Console.Clear(); Console.WriteLine("P R O D U C T O S [Compra-productos]"); Console.WriteLine(""); Console.WriteLine("----------------------------------------"); Console.WriteLine("Productos en el carrito"); Console.WriteLine("----------------------------------------"); //si el objecto carrito tiene productos, llama a la funcion mostrarProdDelCarrito if (carrito.productosEnCarrito != null) { carrito.mostrarProdDelCarrito(); } Console.WriteLine(""); Console.WriteLine("----------------------------------------"); Console.WriteLine("Cajas abiertas"); Console.WriteLine("----------------------------------------"); //muestra la listas de las cajas y su estado foreach (Caja caj in listaCajas) { if (caj.getEstado() == true) { Console.WriteLine(caj.verCaja()); } } Console.WriteLine(""); Console.WriteLine("¿En que caja desea pagar?"); string cAP = Console.ReadLine(); int cajaAPagar = int.Parse(cAP); //obtiene la caja seleccionado en la posicion que selecciona el usuario Caja cajaSeleccionada = (Caja)listaCajas [cajaAPagar - 1]; Console.WriteLine(cajaSeleccionada.getCajeroAcargo().getNombre()); //suma el monto pasado por parametro a la recaudacion de la caja seleccionada //cajaSeleccionada.agregarRecaudacion (monto); Console.WriteLine(""); Console.WriteLine("Nueva Compra"); Console.WriteLine("Ingrese el DNI del cliente:"); string dni = Console.ReadLine(); bool existe = false; foreach (Cliente cliente in listaClientes) { if (cliente.getDni() == dni) { Console.WriteLine(cliente.mostrarCliente()); existe = true; } } if (existe == false) { Console.WriteLine("El cliente no existe, por favor cargelo:"); Console.Write(""); Console.Write("Ingrese el nombre: "); string nombre = Console.ReadLine(); Console.Write("Ingrese el apellido: "); string apellido = Console.ReadLine(); Console.Write("Ingrese el dni: "); dni = Console.ReadLine(); Console.Write("Ingrese la fecha de nacimiento: "); string nacimiento = Console.ReadLine(); //crea un cliente, los setea y lo agrega a listaClientes Cliente client = new Cliente(); client.setNombre(nombre); client.setApellido(apellido); client.setDni(dni); client.setNacimiento(nacimiento); listaClientes.Add(client); } //trae los valores que me devuelve la funcion calcularPromo ArrayList pagoYAhorro = carrito.calcularPromoRecursiva(listaPromociones); double pagar = (double)pagoYAhorro [0]; double ahorro = (double)pagoYAhorro [1]; Console.WriteLine(""); Console.WriteLine("Total a pagar:" + pagar.ToString()); Console.WriteLine("Con su compra ahorró:" + ahorro.ToString()); Console.WriteLine(""); Console.WriteLine("Precione una tecla para volver"); Console.ReadKey(); //suma el total a la recaudacion que tenia cajaSeleccionada.agregarRecaudacion(pagar); //crea la variable cajero le asigna el cajero y luego le suma el monto Cajero cajero = cajaSeleccionada.getCajeroAcargo(); cajero.agregarRecaudacion(pagar); //busca el cliente, cuando lo encuentra a ese le setea la recaudacion foreach (Cliente cliente in listaClientes) { if (cliente.getDni() == dni) { cliente.agregarRecaudacion(pagar); } } //pasa parametros a la funcion volverSupermercado this.volverSupermercado(listaProductos, listaPromociones, listaCajas, listaCajeros, listaClientes); }