none
List<Datos> RRS feed

  • Pregunta

  • Señores tengo una pregunta qeu no se aplicar. Tengo una clase qeu va a la base de datos y me entrega una lista de los datos de mi tabla, y se la paso la capa donde esta mi pagina, el tema es que en la pagina creo una gridview todo bien hasta ahi, el tema pasa por qeu tengo filtros en esa pagina para los datos de esa tabla que son 3 usuario, turno, fecha y en el gridview hay cuatro campos(usuario, fecha,turno, comentario)

    Mi tema pasa por que no se como ni donde hacer el tema de los filtro he leido y entiendo qeu con linq lo podria hacer pero la verdad, es que esa parte me supera no lo se aplicar, mi aplicacion tiene tres capas una de entidades(estan todas las clases creadas por mi como la clase relevantes), la capa de datos y la de presentacion, no hice una de negocio, pero bueno.

    No se si me he explicado bien.

    Saludos a Todos

    jueves, 26 de abril de 2012 3:26

Respuestas

  • pero vas a crear capa de negocio? porque habais comentado que no contabas con esa capa

    desde una clase creada dentro del proyecto web puede agregar el

    using System.Web;

    y con esto acceder a HttpContext.Current

    y con eso acceder a la session, si analizas el articulo del link muestro como hacerlo


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 26 de abril de 2012 13:15

Todas las respuestas

  • hola

    donde pongas los filtros dependera de la forma en que queras aplicarlo

    si es con linq pero a objetos, o sea operando directo con la lista claramente podrias ser la capa de negocio, pero como dices que no tienes podrias crear alguna clase Manager o Util que ayude a implementar los filtros , como para no poner la logica directo en el codigo de la pagina

    o sea podrias crear una clase simple que no llegue a ser nada de negocio, sino una simple clase que dado la lista de datos permita filtrar y contenga un poco de logica de la apcliacion para resolver este tema puntual

    ----

    si los filtros quiers aplciarlos a nivel de bajse de datos, sea el filtro resultara de la ejecucion de una query y el WHERE sera el que lo aplcique claramente es en la capa de datos que deberias implementarlo

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina


    jueves, 26 de abril de 2012 3:47
  • Ese es el tema me gustaria crear una clase manager como tu dices pero la verdad es qeu no se por donde empezar:

    1. Esa clase deberia, entiendo yo tener una funcion que reciba tres parametros o deben ser tres atributos de la clase.
    2. Si envio en los tres para metros datos como hago para hacer en linq algo como where usuario = 'xxxx' and turno = 1 and fecha = 'dd/mm/yyyy'.
    3. Ultima pregunta como puedo hacer para cargar una vez la lista y despues cada vez que utilice los filtros trabajar en base a esa lista y que no valla a la base a cada rato por que entonces entiendo qeu no valdria la pega tener listas.

    Saludos y gracias Leandro por responder

       
    jueves, 26 de abril de 2012 4:13
  • me gustaria crear una clase manager como tu dices pero la verdad es qeu no se por donde empezar

    podrias hacerlo alli mismo en el proyecto de presentacion, o sino creando un proyecto nuevo

    boton derecho sobre el solution explorer Add-> Class, o sea agregas un .cs y alli defines el

    public class xxxManager{

    }

    1-

    va a actuar como un helerp, no uses atributos, no sera una entidad, son solo metodo static que tomaran datos los procesaran y devolveran info

    2-

    no se bien que datos tienes o como esta estrucrurado, pero seri solo cuestion de aprender linq, por lo que veo son solo filtros simples

    List<datos> result = (from item in lista

                                      where item.campo = param1 && item.campo = param2

                                       select item).ToList();

    3-

    podrias conservar estos datos en el objeto Session

    has que el manager se encargue de esto para encapsular el uso del session algo parecido a lo que hago aqui

    [ASP.NET] Mantener información al cambiar de pagina

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 26 de abril de 2012 4:27
  • Pero una pregunta las sessiones la puedo trabajar solo desde la capa de presentacion o tambien las podria

    trabajar desde una capa de negocio si la creo.

    Saludos

    jueves, 26 de abril de 2012 13:08
  • pero vas a crear capa de negocio? porque habais comentado que no contabas con esa capa

    desde una clase creada dentro del proyecto web puede agregar el

    using System.Web;

    y con esto acceder a HttpContext.Current

    y con eso acceder a la session, si analizas el articulo del link muestro como hacerlo


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 26 de abril de 2012 13:15
  • Si vi el link por eso te preguntaba, como una opcion ya que en asp tradicional tu desde todo el proyecto llegas

    a las variables de session.

    Saludos Leandro

    jueves, 26 de abril de 2012 13:20
  • Pero me dio un problema:

    Error 5 No se puede convertir implícitamente el tipo 'System.Collections.Generic.List<Entidades.Relevantes>' en 'System.Collections.Generic.List<ListaProduccion.Formularios.Relevantes>' \\10.107.0.35\SitiosWeb\ListaProd\ListaProduccion\ListaProduccion\Formularios\ManComentario.aspx.cs 29 43 ListaProduccion

    Te muestro el trozo de codigo, lo estoy haciendo en el codigo de la misma pagina como prueba primero

     List<Relevantes> query = (from relevantes in RelevantesPer.GetAllRelevantes()
                            where relevantes.id_turno == "1"
                            select relevantes).ToList();

    Saludos
    jueves, 26 de abril de 2012 14:07