/// <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());
        }
示例#2
0
        /// <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());
        }
示例#3
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 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());
        }
示例#4
0
        /// <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());
        }
示例#5
0
        /// <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());
        }
示例#6
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 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());
        }
示例#7
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)
        {
            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());
        }
示例#8
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)
        {
            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());
        }
示例#9
0
 /// <summary>
 /// Muestro el Changuito y TODOS los Productos
 /// </summary>
 /// <returns></returns>
 public override string ToString()
 {
     return(Changuito.Mostrar(this, ETipo.Todos));
 }
示例#10
0
        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));
        }
示例#12
0
 /// <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));
 }
示例#13
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)
        {
            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());
        }