C sharp - Recorrer lista de objeto.nombre, comparando cadenas de caracteres

 
Vista:
sin imagen de perfil

Recorrer lista de objeto.nombre, comparando cadenas de caracteres

Publicado por Ramiro (11 intervenciones) el 05/11/2016 16:04:35
Hola gente, queria consultarles para ver si me pueden orientar con respecto a esta duda que tengo.
tengo una coleccion de objetos que tienen algunos atributos entre ellos el "Nombre", seria algo asi

Productos.Nombre (es un string)

quiero crear un metodo el cual pase una cadena de caracteres (ejemplo, string TEXTO), compare con todos esos nombres y me devuelva una lista con los que encontro coinidencia. Los cuales voy a presentar en una Grilla, para poderutilizarlos.
cabe aclarar que el texto que paso no es el nombre completo, sino una subcadena, por ejemplo si el texto de la cadena seria "Producto 1" y el texto que yo le paso es "Pro" tengo que encontrar ese "Pro" dentro de "Producto 1", en cada uno de los objetos de la lista.

(seria un tipico buscar productos y cargarlos en una grilla)

yo habia pensado en hacer un metodo de este tipo
1
2
3
4
5
6
7
8
9
public IEnumerable BuscarElproducto(string TEXTO)
        {
 
 
            var Productos = from Producto in RAICES.ObtenerInstancia().ProductoSet.ToList()
                            where Producto.Nombre.Contains(TEXTO)
                            select new { id = Producto.Id, Nombre = Producto.Nombre, Precio = Producto.Precio, Rubro = Producto.Rubro, troquel = Producto.Troquel, tipo = Producto.Tipo, CodigoBarras = Producto.CodigoBarras };
            return Productos.ToList();
        }
y con esto armar la grilla
1
2
3
4
5
public void ArmaGrilla(string TEXTO)
        {
            dgvReceta.DataSource = null;
            dgvReceta.DataSource = oContVentas.BuscarElproducto(TEXTO);
        }

el tema aca es qeu no me devuelve una coleccon de objetos tipo producto, que es lo que necesito, me devuelve una coleccion de "objetitos" tipo var

(no se si me explico bien).
Que me aconsejarian ustedes? saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Wilfredo Patricio Castillo
Val: 707
Oro
Ha mantenido su posición en C sharp (en relación al último mes)
Gráfica de C sharp

Recorrer lista de objeto.nombre, comparando cadenas de caracteres

Publicado por Wilfredo Patricio Castillo (416 intervenciones) el 05/11/2016 20:29:49
La cosa sería mas simple, si tienes las entidades hechas como por ejemplo Producto, la cosa quedaría así:
1
2
3
4
5
Public List<Producto>GetByName(string name)
{
var productos=db.Productos.Where(x=>x.Nombre.Contains(name)).ToList();
return productos;
}

Eso si es desde tu base de datos, ahora si es desde una lista;

1
2
var prods = from p in productos.Where(x => x.Nombre.Contains(name)).ToList() select p;
return prods;

Saludos cordiales,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Recorrer lista de objeto.nombre, comparando cadenas de caracteres

Publicado por Ramiro (11 intervenciones) el 06/11/2016 03:29:49
Gracias por la respuesta me dio resultado!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar