public IQueryable sp_xmlfacturacion(string cadena, string cadean2, string cadena3)
        {
            contexto = new ProyectoBDEntities();
            var listado = (from sp in contexto.Facturacionxml(cadena, cadean2, cadena3) select sp).ToList();

            return(listado.AsQueryable());
        }
        public IQueryable sp_xmldescontar(int id, int cantidad)
        {
            contexto = new ProyectoBDEntities();
            var listado = (from sp in contexto.Descontar2(id, cantidad) select sp).ToList();

            return(listado.AsQueryable());
        }
        public IQueryable sp_xmlmuestra(string cadena)
        {
            contexto = new ProyectoBDEntities();
            var listado = (from sp in contexto.muestra(cadena) select sp).ToList();

            return(listado.AsQueryable());
        }
        public IQueryable ProcedimientoTabla()
        {
            contexto = new ProyectoBDEntities();
            var listado = (from sp in contexto.productos() select sp).ToList();

            return(listado.AsQueryable());
        }
        public IQueryable <T> ListarTodo()
        {
            IQueryable <T> respuesta;

            using (contexto = new ProyectoBDEntities())
            {
                respuesta = contexto.Set <T>().ToList().AsQueryable();
            }
            return(respuesta);
        }
        }//fin del metodo editar

        public IQueryable <T> ListarTodoConFiltro(Expression <Func <T, bool> > filtro)
        {
            IQueryable <T> respuesta;

            using (contexto = new ProyectoBDEntities())
            {
                DbQuery <T> query = contexto.Set <T>();
                respuesta = query.Where(filtro).ToList().AsQueryable();
            }
            return(respuesta);
        }// fin del metodo ListarTodoConFiltro
        public string Agregar(T NuevaEntidad)
        {
            string mensaje = "";

            if (NuevaEntidad == null)
            {
                mensaje = "Error: datos vacios";
            }
            else
            {
                using (contexto = new ProyectoBDEntities())
                {
                    var dbSet = contexto.Set <T>();
                    dbSet.Add(NuevaEntidad);
                    contexto.SaveChanges();
                    mensaje = "Se ha grabado el nuevo registro";
                }
            }
            return(mensaje);
        }//Fin del metodo agregar
        }//Fin del metodo agregar

        public string Editar(T Entidad)
        {
            string mesaje = "";

            if (Entidad == null)
            {
                mesaje = "Error: datos vacios";
            }
            else
            {
                using (contexto = new ProyectoBDEntities())
                {
                    var dbSet = contexto.Set <T>();
                    dbSet.Attach(Entidad);
                    contexto.Entry(Entidad).State = EntityState.Modified;
                    contexto.SaveChanges();
                }
                mesaje = "Se ha editado la informacion";
            }
            return(mesaje);
        }//fin del metodo editar