public static Estante operator -(Estante e, ETipoProducto tipo) { Estante eAux = new Estante(e._capacidad); eAux = e; for (int i = 0; i < e.Productos.Count; i++) { switch (tipo) { case ETipoProducto.Galletita: if (e.Productos[i] is Galletita) { eAux -= e.Productos[i]; //eAux.Productos.Remove(p); seria lo mismo. } break; case ETipoProducto.Gaseosa: if (e.Productos[i] is Gaseosa) { eAux -= e.Productos[i]; } break; case ETipoProducto.Jugo: if (e.Productos[i] is Jugo) { eAux -= e.Productos[i]; } ; break; case ETipoProducto.Todos: eAux -= e.Productos[i]; break; default: break; } } return(e); }
public string MostrarEstante(Estante est) { StringBuilder sb = new StringBuilder(); sb.AppendLine("CONTENIDO DEL ESTANTE"); sb.AppendLine("**********************************************"); foreach (Producto p in est.Productos) { if (p is Jugo) { sb.AppendLine(((Jugo)p).MostrarJugo()); } if (p is Galletita) { sb.AppendLine(Galletita.MostrarGalletita((Galletita)p)); } if (p is Gaseosa) { sb.AppendLine(((Gaseosa)p).MostrarGaseosa()); } } return(sb.ToString()); }