コード例 #1
0
ファイル: Estante.cs プロジェクト: CanteroAgustin/Lab_2_Ej
        public static void SerializarEstante(string filePath, Estante e)
        {
            XmlSerializer ser    = new XmlSerializer(typeof(Estante));
            Stream        stream = new FileStream(filePath, FileMode.Create);

            ser.Serialize(stream, e);
            stream.Close();
        }
コード例 #2
0
ファイル: Estante.cs プロジェクト: murraymatias/ejLabo2
        public static string MostrarEstante(Estante e)
        {
            string ret = string.Format("Ubicacion del estante: {0}\nProductos:\n", e.ubicacionEstante);

            foreach (Producto p in e.GetProductos())
            {
                ret += Producto.MostrarProducto(p);
            }
            return(ret);
        }
コード例 #3
0
        public static string MostrarEstante(Estante e)
        {
            StringBuilder s = new StringBuilder();

            s.AppendFormat("CAPACIDAD: {0}\n", e.capacidad);
            foreach (Producto producto in e.GetProductos())
            {
                s.AppendLine(producto.ToString());
            }
            return(s.ToString());
        }
コード例 #4
0
        public static string MostrarEstante(Estante e)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("CAPACIDAD: " + e._capacidad.ToString());
            foreach (Producto p in e._productos)
            {
                sb.AppendLine(p.ToString());
            }
            return(sb.ToString());
        }
コード例 #5
0
        public static string MostrarEstante(Estante e)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("Estante\nCantidad de espacios {0}", e._capacidad);
            foreach (Producto item in e._productos)
            {
                sb.AppendLine(item.ToString());
            }
            return(sb.ToString());
        }
コード例 #6
0
        public string MostrarEstante(Estante e)
        {
            string retorno = string.Empty;

            for (int i = 0; i < e.productos.Length; i++)
            {
                //Para mostrar los productos
                retorno += Producto.MostrarProducto(e.productos[i]);
            }
            return(retorno);
        }
コード例 #7
0
        public static string MostrarEstante(Estante e)
        {
            StringBuilder retorno = new StringBuilder();

            retorno.AppendLine("Capacidad " + e._capacidad);
            foreach (Producto aux in e._productos)
            {
                retorno.AppendLine(aux.ToString());
                retorno.AppendLine();
            }
            return(retorno.ToString());
        }
コード例 #8
0
        public static string MostrarEstante(Estante estante)
        {
            StringBuilder retorno = new StringBuilder();

            retorno.AppendFormat("Estante n°: {0}\n", estante.ubicacionEstante);
            retorno.AppendLine("Productos en el estante:");
            for (int i = 0; i < estante.productos.Length; i++)
            {
                retorno.AppendLine(Producto.MostrarProducto(estante.productos[i]));
            }
            return(retorno.ToString());
        }
コード例 #9
0
ファイル: Estante.cs プロジェクト: geralsdepp/ProgramacionII
        public static string MostrarEstante(Estante e)
        {
            StringBuilder sb = new StringBuilder();

            //sb.Append(e.ValorEstanteTotal + "\n");
            //sb.Append(e.GetValorEstante() + "\n");
            sb.AppendFormat("CAPACIDAD: {0}\n", e._capacidad);
            foreach (Producto item in e._productos)
            {
                sb.Append(item.ToString());
            }
            return(sb.ToString());
        }
コード例 #10
0
        public static string MostrarEstante(Estante e)
        {
            string ret = e.ubicacionEstante.ToString() + " ";

            foreach (Producto p in e.producto)
            {
                if (!(p is null))
                {
                    ret += Producto.MostrarProducto(p) + " ";
                }
            }
            return(ret);
        }
コード例 #11
0
ファイル: Estante.cs プロジェクト: blackedhs/Csharp
        public string MostrarEstante(Estante e)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("Capacidad: " + this.capacidad);
            sb.AppendLine("Productos");
            foreach(Producto producto in e.productos)
            {
                sb.AppendLine(producto.ToString());
            }

            return sb.ToString();
        }
コード例 #12
0
ファイル: Estante.cs プロジェクト: elianaCvargas/Borradores
        public static string MostrarEstante(Estante e)
        {
            StringBuilder sb = new StringBuilder();

            sb.Append("Estante:\n Capacidad: ");
            sb.Append(e.capacidad.ToString());
            foreach (Producto item in e.listaProductos)
            {
                sb.Append(item.MostrarProducto(item));
                sb.Append(item.ToString());
            }
            return(sb.ToString());
        }
コード例 #13
0
        public static string MostrarEstante(Estante e)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine(string.Format("Ubicacion estante: {0}", e.ubicacionEstante));
            sb.AppendLine("Productos del estante:");
            foreach (Producto auxProducto in e.productos)
            {
                sb.AppendLine(Producto.MostrarProducto(auxProducto));
            }

            return(sb.ToString());
        }
コード例 #14
0
        /// <summary>
        /// Metodo encargado de tomar un objeto del tipo Producto y devolver un objeto con referencias en memoria distintas, pero con los mismos valores en los atributos
        /// </summary>
        /// <param name="producto"></param>
        /// <returns></returns>
        public static Producto ClonarNuevoProducto(this Producto producto)
        {
            Producto output = null;

            if (producto is Torre)
            {
                output = new Torre((Madera)producto.MaderaPrincipal.Clone(), (Tela)producto.TelaProducto.Clone(), ((Torre)producto).Modelo, (Madera)((Torre)producto).MaderaColumna.Clone(), ((Torre)producto).MetrosYute);
            }
            else
            {
                output = new Estante((Madera)producto.MaderaPrincipal.Clone(), (Tela)producto.TelaProducto.Clone(), ((Estante)producto).CantidadEstantes);
            }
            return(output);
        }
コード例 #15
0
        public static Estante operator -(Estante e, Producto.ETipoProducto tipo)
        {
            Estante eAux = e;

            for (int i = 0; i < eAux.GetProductos().Count; i++)
            {
                switch (tipo)
                {
                case Producto.ETipoProducto.Galletita:
                    if (eAux._productos[i] is Galletita)
                    {
                        eAux -= e._productos[i];
                        i--;
                    }
                    break;

                case Producto.ETipoProducto.Gaseosa:
                    if (eAux._productos[i] is Gaseosa)
                    {
                        eAux -= e._productos[i];
                        i--;
                    }
                    break;

                case Producto.ETipoProducto.Harina:
                    if (eAux._productos[i] is Harina)
                    {
                        eAux -= e._productos[i];
                        i--;
                    }
                    break;

                case Producto.ETipoProducto.Jugo:
                    if (eAux._productos[i] is Jugo)
                    {
                        eAux -= e._productos[i];
                        i--;
                    }
                    break;

                default:
                    eAux -= e._productos[i];
                    i--;
                    break;
                }
            }
            return(eAux);
        }
コード例 #16
0
        public static string MostrarEstante(Estante e)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendLine("Ubicacion: " + e.ubicacionEstante);
            sb.AppendLine("Productos: ");

            foreach (Producto auxProducto in e.GetProductos())//o e.arrayProductos;
            {
                if (!(auxProducto is null))
                {
                    sb.AppendLine(Producto.MostrarProducto(auxProducto));
                }
            }
            return(sb.ToString());
        }
コード例 #17
0
 /// <summary>
 /// Funcion que crea  un archivo de texto con datos y lo guarda en el escritorio, si no se pudo guardar lanzara una excepcion
 /// </summary>
 /// <param name="precio"></param>
 /// <param name="estante"></param>
 public void ManejadorEventoPrecio(double precio, Estante <Fruta> estante)
 {
     try
     {
         using (StreamWriter escritor = new StreamWriter(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + @"\estante.txt"))
         {
             escritor.WriteLine(DateTime.Now);
             escritor.WriteLine("$ " + precio);
             MessageBox.Show("Se creo el archivo esatante.txt en el escritorio.");
         }
     }
     catch (Exception error)
     {
         MessageBox.Show(error.Message, "Error al escribir archivo", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
コード例 #18
0
        /// <summary>
        /// Muestra los datos de un estante, incluyendo sus productos.
        /// </summary>
        /// <param name="estante">Estante.</param>
        /// <returns>String con los datos del estante.</returns>
        public static string MostrarEstante(Estante estante)
        {
            string retorno = string.Empty;

            retorno += String.Format("Estante. Ubicación: {0}\n", estante.ubicacionEstante);
            retorno += "\nProductos: \n";

            foreach (Producto producto in estante.GetProductos())
            {
                if (!(producto is null))
                {
                    retorno += Producto.MostrarProducto(producto) + "\n";
                }
            }

            return(retorno);
        }
コード例 #19
0
        public static string MostrarEstante(Estante e)
        {
            StringBuilder sb = new StringBuilder();

            sb.AppendFormat("\nCapacidad: {0}", e.GetProductos().Count);
            sb.AppendFormat("\nValor Total Estante: {0}", e.GetValorEstante());
            sb.AppendFormat("\nValor Estante Solo Galletitas: {0}", e.GetValorEstante(Producto.ETipoProducto.Galletita));

            sb.AppendFormat("\n\nContenido Estante\n");

            foreach (Producto p in e.GetProductos())
            {
                sb.AppendFormat("{0}\n", p.ToString());
            }

            return(sb.ToString());
        }
コード例 #20
0
        /// <summary>
        /// devuelve un nuevo estante sin los productos que coinciden con el tipo recibido por parametro
        /// </summary>
        /// <param name="e"></param>
        /// <param name="tipo"></param>
        /// <returns></returns>
        public static Estante operator -(Estante e, Producto.ETipoProducto tipo)
        {
            Estante e1 = e;

            for (int i = 0; i < e._productos.Count; i++)
            {
                switch (tipo)
                {
                case Producto.ETipoProducto.Galletita:
                    if (e1._productos[i] is Galletita)
                    {
                        e1 -= e1._productos[i];
                        i--;
                    }
                    break;

                case Producto.ETipoProducto.Gaseosa:
                    if (e1._productos[i] is Gaseosa)
                    {
                        e1 -= e1._productos[i];
                        i--;
                    }
                    break;

                case Producto.ETipoProducto.Jugo:
                    if (e1._productos[i] is Jugo)
                    {
                        e1 -= e1._productos[i];
                        i--;
                    }
                    break;

                case Producto.ETipoProducto.Todos:
                    if (e._productos.Count > 0)
                    {
                        e1 -= e1._productos[i];
                        i--;
                    }
                    break;
                }
            }


            return(e1);
        }
コード例 #21
0
        /// <summary>
        /// Metodo estatico que genera un archivo txt que almacena los datos del estante en el tiempo.
        /// </summary>
        /// <param name="e"></param>
        /// <param name="info">String indicando que estante es</param>
        public static void GuardarEstante(Estante e, string info)
        {
            DateTime      date = DateTime.Now;
            StringBuilder sb   = new StringBuilder();

            sb.AppendLine(info + " (" + date.ToString() + ")");
            sb.AppendLine("\r\nValor del estante: " + e.ValorEstanteTotal);
            sb.AppendLine("\r\nCapacidad: " + e._capacidad.ToString());
            sb.AppendLine("\nCantidad de productos: " + e._productos.Count);
            sb.AppendLine("\r\n" + MostrarEstante(e));

            if (System.IO.File.Exists(@"C:\Users\gustavo\Desktop\Prueba\Estantes.txt"))
            {
                System.IO.File.AppendAllText(@"C:\Users\gustavo\Desktop\Prueba\Estantes.txt", sb.ToString());
            }
            else
            {
                System.IO.File.WriteAllText(@"C:\Users\gustavo\Desktop\Prueba\Estantes.txt", sb.ToString());
            }
        }
コード例 #22
0
        public static string MostrarEstante(Estante est)
        {
            StringBuilder sb = new StringBuilder();

            foreach (Producto item in est._productos)
            {
                if (item is Jugo)
                {
                    sb.AppendLine(((Jugo)item).MostrarJugo());
                }
                if (item is Galletita)
                {
                    sb.AppendLine(Galletita.MostrarGalletita((Galletita)item));
                }
                if (item is Gaseosa)
                {
                    sb.AppendLine(((Gaseosa)item).MostrarGaseosa());
                }
            }

            return(sb.ToString());
        }
コード例 #23
0
        /// <summary>
        /// Genera un archivo xml que almacena los datos del estante.
        /// </summary>
        /// <param name="e1"></param>
        /// <param name="e2"></param>
        /// <param name="info1"></param>
        /// <param name="info2"></param>
        public static void SerializarEstante(Estante e1, Estante e2, string info1, string info2)
        {
            System.Xml.Serialization.XmlSerializer xml = new System.Xml.Serialization.XmlSerializer(info1.GetType());
            System.IO.StreamWriter file = new System.IO.StreamWriter(@"C:\Users\gustavo\Desktop\Prueba\Serializacion.xml");

            DateTime      date = DateTime.Now;
            StringBuilder sb   = new StringBuilder();

            sb.AppendLine(info1 + " (" + date.ToString() + ")");
            sb.AppendLine("\r\nValor del estante: " + e1.ValorEstanteTotal);
            sb.AppendLine("\r\nCapacidad: " + e1._capacidad.ToString());
            sb.AppendLine("\nCantidad de productos: " + e1._productos.Count);
            sb.AppendLine("\r\n" + MostrarEstante(e1));
            sb.AppendLine(info2 + " (" + date.ToString() + ")");
            sb.AppendLine("\r\nValor del estante: " + e2.ValorEstanteTotal);
            sb.AppendLine("\r\nCapacidad: " + e2._capacidad.ToString());
            sb.AppendLine("\nCantidad de productos: " + e2._productos.Count);
            sb.AppendLine("\r\n" + MostrarEstante(e2));

            xml.Serialize(file, sb.ToString());
            file.Close();
        }
コード例 #24
0
ファイル: Estante.cs プロジェクト: federicotomadin/Proyecto
        public static Estante operator -(Estante est, Producto.ETipoProducto tipo)
        {
            Estante aux = new Estante((sbyte)est._productos.Count);

            foreach (Producto item in est._productos)
            {
                if (item is Galletita && tipo != Producto.ETipoProducto.Galletita)
                {
                    aux._productos.Add(item);
                }
                if (item is Harina && tipo != Producto.ETipoProducto.Gaseosa)
                {
                    aux._productos.Add(item);
                }

                if (item is Jugo && tipo != Producto.ETipoProducto.Jugo)
                {
                    aux._productos.Add(item);
                }
                if (item is Gaseosa && tipo != Producto.ETipoProducto.Gaseosa)
                {
                    aux._productos.Add(item);
                }
            }

            if (tipo == Producto.ETipoProducto.Todos)
            {
                est._productos.Clear();
                return(est);
            }


            else
            {
                return(aux);
            }
        }