/// <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", 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> /// Muestro el Changuito y TODOS los Productos /// </summary> /// <returns></returns> public override string ToString() { return(Changuito.Mostrar(this, ETipo.Todos)); }