コード例 #1
0
        /// <summary>
        /// Expone los datos del elemento y su lista (incluidas sus herencias).
        /// SOLO del tipo requerido.
        /// </summary>
        /// <param name="concecionaria">Elemento a exponer.</param>
        /// <param name="tipoDeChanguito">Tipos de ítems de la lista a mostrar.</param>
        /// <returns>Retorna los datos de los elementos concatenados en un solo string.</returns>
        public string Mostrar(Changuito concecionaria, ETipo tipoDeChanguito)
        {
            StringBuilder builder = new StringBuilder();

            builder.AppendFormat("Tenemos {0} lugares ocupados de un total de {1} disponibles", concecionaria._productos.Count, concecionaria._espacioDisponible);
            builder.AppendLine("");

            foreach (Producto producto in concecionaria._productos)
            {
                switch (tipoDeChanguito)
                {
                case ETipo.Dulce:
                    if (producto is Dulce)
                    {
                        builder.AppendLine(producto.Mostrar());
                    }
                    break;

                case ETipo.Leche:
                    if (producto is Leche)
                    {
                        builder.AppendLine(producto.Mostrar());
                    }
                    break;

                case ETipo.Snacks:
                    if (producto is Snacks)
                    {
                        builder.AppendLine(producto.Mostrar());
                    }
                    break;

                default:
                    builder.AppendLine(producto.Mostrar());
                    break;
                }
            }

            return(builder.ToString());
        }
コード例 #2
0
        /// <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)  //quitar static
        {
            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(((Snacks)v).Mostrar());
                    }
                    break;

                case ETipo.Dulce:
                    if (v is Dulce)
                    {
                        sb.AppendLine(((Dulce)v).Mostrar());
                    }
                    break;

                case ETipo.Leche:
                    if (v is Leche)
                    {
                        sb.AppendLine(((Leche)v).Mostrar());
                    }
                    break;

                default:
                    sb.AppendLine(v.Mostrar());
                    break;
                }
            }

            return(sb.ToString());
        }
コード例 #3
0
        /// <summary>
        /// Muestra Producto dependiendo de su Tipo
        /// </summary>
        /// <param name="c"></param>
        /// <param name="tipo"></param>
        /// <returns></returns>
        public string Mostrar(Changuito c, ETipo tipo)
        {
            StringBuilder sb = new StringBuilder(ToString());

            foreach (Producto p in productos)
            {
                switch (tipo)
                {
                case ETipo.Dulce:
                    if (p is Dulce)
                    {
                        sb.Append(p.Mostrar());
                    }
                    break;

                case ETipo.Leche:
                    if (p is Leche)
                    {
                        sb.Append(p.Mostrar());
                    }
                    break;

                case ETipo.Snacks:
                    if (p is Snacks)
                    {
                        sb.Append(p.Mostrar());
                    }
                    break;

                default:
                    sb.Append(p.Mostrar());
                    break;
                }
            }
            return(sb.ToString());
        }
コード例 #4
0
 /// <summary>
 /// Muestro el Changuito y TODOS los Productos
 /// </summary>
 /// <returns></returns>
 public override string ToString()
 {
     return(Changuito.Mostrar(this, ETipo.Todos));
 }
コード例 #5
0
        /// <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>Retorna una cadena de caracteres con los datos del chango segun el tipo especificado de producto</returns>
        public string Mostrar(Changuito c, ETipo tipo)
        {
            StringBuilder cadena = new StringBuilder();

            cadena.AppendFormat("Tenemos {0} lugares ocupados de un total de {1} disponibles", c.productos.Count, c.espacioDisponible);
            cadena.AppendLine("");

            #region "Otra forma con if"

            /*
             * if (!(c is null))
             * {
             *  foreach (Producto product in c.productos)
             *  {
             *      if (tipo == ETipo.Leche && product is Leche)
             *      {
             *          cadena.AppendLine(((Leche)product).Mostrar());
             *      }
             *      else if (tipo == ETipo.Snacks && product is Snacks)
             *      {
             *          cadena.AppendLine(((Snacks)product).Mostrar());
             *      }
             *      else if (product is Dulce && tipo == ETipo.Dulce)
             *      {
             *          cadena.AppendLine(((Dulce)product).Mostrar());
             *      }else if (tipo== ETipo.Todos)
             *      {
             *          cadena.AppendLine(product.Mostrar());
             *      }
             *  }
             * }
             *
             * return cadena.ToString();*/
            #endregion

            if (!(c is null))
            {
                foreach (Producto product in c.productos)
                {
                    switch (tipo)
                    {
                    case ETipo.Snacks:
                        if (product is Snacks)
                        {
                            cadena.AppendLine(product.Mostrar());
                        }
                        break;

                    case ETipo.Dulce:
                        if (product is Dulce)
                        {
                            cadena.AppendLine(product.Mostrar());;
                        }
                        break;

                    case ETipo.Leche:
                        if (product is Leche)
                        {
                            cadena.AppendLine(product.Mostrar());
                        }
                        break;

                    default:
                        cadena.AppendLine(product.Mostrar());
                        break;
                    }
                }
            }
            return(cadena.ToString());
        }