/// <summary> /// Expone los datos del elemento y su lista (incluidas sus herencias) /// SOLO del tipo requerido /// </summary> /// <param name="c">Elemento a exponer</param> /// <param name="ETipo">Tipos de ítems de la lista a mostrar</param> /// <returns></returns> public string Mostrar(Changuito c, ETipo tipo) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < c.productos.Count; i++) { if (tipo == Changuito.ETipo.Dulce) { if (this.productos[i] is Dulce) { Dulce paraMostrarDulce = (Dulce)this.productos[i]; sb.AppendLine(paraMostrarDulce.Mostrar()); } } if (tipo == Changuito.ETipo.Snacks) { if (this.productos[i] is Snacks) { Snacks paraMostrarSnacks = (Snacks)this.productos[i]; sb.AppendLine(paraMostrarSnacks.Mostrar()); } } if (tipo == Changuito.ETipo.Leche) { if (this.productos[i] is Leche) { Leche paraMostrarLeche = (Leche)this.productos[i]; sb.AppendLine(paraMostrarLeche.Mostrar()); } } if (tipo == Changuito.ETipo.Todos) { c.ToString(); } } return(sb.ToString()); }
static void Main(string[] args) { // Configuración de la pantalla Console.SetWindowPosition(0, 0); Console.SetWindowSize(Console.LargestWindowWidth / 2, Console.LargestWindowHeight - 2); // Nombre del alumno Console.WriteLine("Rodriguez Emiliano"); Changuito changoDeCompras = new Changuito(6); Dulce c1 = new Dulce(Producto.EMarca.Sancor, "ASD012", ConsoleColor.Black); Dulce c2 = new Dulce(Producto.EMarca.Ilolay, "ASD913", ConsoleColor.Red); Leche m1 = new Leche(Producto.EMarca.Pepsico, "HJK789", ConsoleColor.White); Leche m2 = new Leche(Producto.EMarca.Serenisima, "IOP852", ConsoleColor.Blue, Leche.ETipo.Descremada); Snacks a1 = new Snacks(Producto.EMarca.Campagnola, "QWE968", ConsoleColor.Gray); Snacks a2 = new Snacks(Producto.EMarca.Arcor, "TYU426", ConsoleColor.DarkBlue); Snacks a3 = new Snacks(Producto.EMarca.Sancor, "IOP852", ConsoleColor.Green); Snacks a4 = new Snacks(Producto.EMarca.Sancor, "TRE321", ConsoleColor.Green); // Agrego 8 ítems (los últimos 2 no deberían poder agregarse ni el m1 repetido) y muestro changoDeCompras += c1; changoDeCompras += c2; changoDeCompras += m1; changoDeCompras += m1; changoDeCompras += m2; changoDeCompras += a1; changoDeCompras += a2; changoDeCompras += a3; changoDeCompras += a4; Console.WriteLine(changoDeCompras.ToString()); Console.WriteLine("<-----------PRESIONE UNA TECLA PARA CONTINUAR----------->"); Console.ReadKey(); Console.Beep(); Console.Clear(); // Quito un item y muestro changoDeCompras -= c1; Console.WriteLine(changoDeCompras.ToString()); Console.WriteLine("<-----------PRESIONE UNA TECLA PARA CONTINUAR----------->"); Console.ReadKey(); Console.Beep(); Console.Clear(); // Muestro solo Dulces Console.WriteLine(Changuito.Mostrar(changoDeCompras, Changuito.ETipo.Dulce)); Console.WriteLine("<-----------PRESIONE UNA TECLA PARA CONTINUAR----------->"); Console.ReadKey(); Console.Beep(); Console.Clear(); // Muestro solo Leches Console.WriteLine(Changuito.Mostrar(changoDeCompras, Changuito.ETipo.Leche)); Console.WriteLine("<-----------PRESIONE UNA TECLA PARA CONTINUAR----------->"); Console.ReadKey(); Console.Beep(); Console.Clear(); // Muestro solo Snacks Console.WriteLine(Changuito.Mostrar(changoDeCompras, Changuito.ETipo.Snacks)); Console.WriteLine("<-------------PRESIONE UNA TECLA PARA SALIR------------->"); Console.ReadKey(); }