/// <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 static string Mostrar(Changuito c, ETipo tipo) { StringBuilder sb = new StringBuilder(); sb.AppendFormat("Tenemos {0} lugares ocupados de un total de {1} disponibles\n", c.productos.Count, c.espacioDisponible); sb.AppendLine(""); foreach (Producto v in c.productos) { switch (tipo) { case ETipo.Snacks: if (v is Snacks) { sb.AppendLine(v.Mostrar()); } break; case ETipo.Dulce: if (v is Dulce) { sb.AppendLine(v.Mostrar()); } break; case ETipo.Leche: if (v is Leche) { sb.AppendLine(v.Mostrar()); } break; default: sb.AppendLine(v.Mostrar()); break; } } return(sb.ToString()); }
/// <summary> /// Expone los datos del elemento y su lista (incluidas sus herencias) /// SOLO del tipo requerido /// </summary> /// <param name="changuito">Elemento a exponer</param> /// <param name="ETipo">Tipos de ítems de la lista a mostrar</param> /// <returns>string con los datos del changuito y sus productos</returns> public static string Mostrar(Changuito changuito, ETipo tipo) { StringBuilder myStringBuilder = new StringBuilder(); myStringBuilder.AppendFormat("Tenemos {0} lugares ocupados de un total de {1} disponibles", changuito.productos.Count, changuito.espacioDisponible); myStringBuilder.AppendLine(""); foreach (Producto producto in changuito.productos) { switch (tipo) { case ETipo.Snacks: if (producto is Snacks) { myStringBuilder.AppendLine(producto.Mostrar()); } break; case ETipo.Dulce: if (producto is Dulce) { myStringBuilder.AppendLine(producto.Mostrar()); } break; case ETipo.Leche: if (producto is Leche) { myStringBuilder.AppendLine(producto.Mostrar()); } break; default: myStringBuilder.AppendLine(producto.Mostrar()); break; } } return(myStringBuilder.ToString()); }
/// <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 static string Mostrar(Changuito c, ETipo tipo) { StringBuilder totalProductosChanguito = new StringBuilder(); totalProductosChanguito.AppendFormat("Tenemos {0} lugares ocupados de un espacio total de {1} \n", c.productos.Count, c.espacioDisponible); foreach (Producto productoEnChanguito in c.productos) { switch (tipo) { case ETipo.Snacks: if (productoEnChanguito is Snacks) { totalProductosChanguito.AppendLine(productoEnChanguito.Mostrar()); } break; case ETipo.Dulce: if (productoEnChanguito is Dulce) { totalProductosChanguito.AppendLine(productoEnChanguito.Mostrar()); } break; case ETipo.Leche: if (productoEnChanguito is Leche) { totalProductosChanguito.AppendLine(productoEnChanguito.Mostrar()); } break; default: totalProductosChanguito.AppendLine(productoEnChanguito.Mostrar()); break; } } return(totalProductosChanguito.ToString()); }
/// <summary> /// Expone los datos del elemento y su lista (incluidas sus herencias) /// SOLO del tipo requerido /// </summary> /// <param name="changuito">Elemento a exponer</param> /// <param name="tipo">Tipos de ítems de la lista a mostrar</param> /// <returns></returns> public static string Mostrar(Changuito changuito, ETipo tipo) { StringBuilder sb = new StringBuilder(); sb.AppendFormat("Tenemos {0} lugares ocupados de un total de {1} disponibles", changuito.productos.Count, changuito.espacioDisponible); sb.AppendLine(""); foreach (Producto productos in changuito.productos) { switch (tipo) { case ETipo.Snacks: if (productos.GetType() == typeof(Snacks)) { sb.AppendLine(productos.Mostrar()); } break; case ETipo.Dulce: if (productos.GetType() == typeof(Dulce)) { sb.AppendLine(productos.Mostrar()); } break; case ETipo.Leche: if (productos.GetType() == typeof(Leche)) { sb.AppendLine(productos.Mostrar()); } break; default: sb.AppendLine(productos.Mostrar()); break; } } return(sb.ToString()); }
/// <summary> /// Expone los datos del elemento y su lista (incluidas sus herencias) /// SOLO del tipo requerido /// </summary> /// <param name="changuito">Elemento a exponer</param> /// <param name="TipoDeLeche">Tipos de ítems de la lista a mostrar</param> /// <returns></returns> public static string Mostrar(Changuito changuito, Changuito.TipoDeProducto tipo) { StringBuilder datosProducto = new StringBuilder(); datosProducto.AppendFormat("Tenemos {0} lugares ocupados de un total de {1} disponibles", changuito.productos.Count, changuito.espacioDisponible); datosProducto.AppendLine(""); foreach (Producto productoAux in changuito.productos) { switch (tipo) { case TipoDeProducto.Leche: if (productoAux is Leche) { datosProducto.AppendLine(productoAux.Mostrar()); } break; case TipoDeProducto.Snacks: if (productoAux is Snacks) { datosProducto.AppendLine(productoAux.Mostrar()); } break; case TipoDeProducto.Dulce: if (productoAux is Dulce) { datosProducto.AppendLine(productoAux.Mostrar()); } break; default: //TipoDeLeche.Todos datosProducto.AppendLine(productoAux.Mostrar()); break; } } return(datosProducto.ToString()); }
/// <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 static string Mostrar(Changuito c, ETipo tipo) { StringBuilder sb = new StringBuilder(); sb.AppendLine($"Tenemos {c.productos.Count} lugares ocupados de un total de {c.espacioDisponible} disponibles"); foreach (Producto producto in c.productos) { switch (tipo) { case ETipo.Snacks: if (producto is Snacks) { sb.AppendLine(producto.Mostrar()); } break; case ETipo.Dulce: if (producto is Dulce) { sb.AppendLine(producto.Mostrar()); } break; case ETipo.Leche: if (producto is Leche) { sb.AppendLine(producto.Mostrar()); } break; case ETipo.Todos: sb.AppendLine(producto.Mostrar()); break; } } return(sb.ToString()); }
/// <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()); }
/// <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(); sb.AppendFormat("Tenemos {0} lugares ocupados de un total de {1} disponibles", c.productos.Count, c.espacioDisponible); sb.AppendLine(""); foreach (Producto v in c.productos) { if (v is Leche) { if (tipo == ETipo.Leche) { sb.AppendLine(v.Mostrar()); } } if (v is Dulce) { if (tipo == ETipo.Dulce) { sb.AppendLine(v.Mostrar()); } } if (v is Snacks) { if (tipo == ETipo.Snacks) { sb.AppendLine(v.Mostrar()); } } if (tipo == ETipo.Todos) { sb.AppendLine(v.Mostrar()); } } return(sb.ToString()); }
/// <summary> /// Muestro el Changuito y TODOS los Productos /// </summary> /// <returns></returns> public override string ToString() { return(Changuito.Mostrar(this, ETipo.Todos)); }
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(); }
/// <summary> /// Muestro el Changuito y TODOS los Productos /// </summary> /// <returns></returns> public override string ToString() { Changuito chango = new Changuito(); return(chango.Mostrar(this, ETipo.Todos)); }
/// <summary> /// Muestro el Changuito y TODOS los Productos /// </summary> /// <returns></returns> public override string ToString() //Falta override porque es una Sobrecarga { return(Changuito.Mostrar(this, ETipo.Todos)); }
/// <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(); foreach (Producto item in c.productos) { switch (tipo) { case ETipo.Dulce: if (item is Dulce) { sb.AppendLine(item.Mostrar()); } break; case ETipo.Leche: if (item is Leche) { sb.AppendLine(item.Mostrar()); } break; case ETipo.Snacks: if (item is Snacks) { sb.AppendLine(item.Mostrar()); } break; default: sb.AppendLine(item.Mostrar()); break; } } /* CODIGO VIEJO * 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()); }