示例#1
0
        /// <summary>
        /// Obtiene la lista de productos filtrada por un témino de búsqueda
        /// ordenada por un campo en el sentido indicado
        /// y paginada según los datos pasados
        /// </summary>
        /// <param name="current">Pagina que se quiere mostrar</param>
        /// <param name="rowCount">filas que se quieren mostrar en cada página</param>
        /// <param name="searchPhrase">Término de búsqueda</param>
        /// <param name="campoOrdenar">Nombre del campo por qu e quieren ordenar los resultados</param>
        /// <param name="orden">sentido de la ordenación</param>
        /// <returns></returns>
        public List <PedidoDTO> GetListaFiltrada(int paginaActual, int registrosPagina, string termminoBusqueda,
                                                 string campoOrdenar, string orden, out int iTotalRegistros)
        {
            // nota: paginacion linq :: coleccion.Skip(pagAMostrar * numElementosPorPagina).Take(numElementosPorPagina);
            List <PedidoDTO> lista = new List <PedidoDTO>();

            try
            {
                using (var db = new PruebasEntities())
                {
                    var listaPedidos = from pe in db.Pedidos
                                       join res in db.Restaurantes
                                       on pe.FIdRestaurante equals res.Id_Restaurante
                                       join per in db.Personas
                                       on pe.FIdPersona equals per.id
                                       select new PedidoDTO
                    {
                        Id_pedido         = pe.Id_pedido,
                        Referencia        = pe.Referencia,
                        Fecha             = pe.Fecha,
                        FIdRestaurante    = pe.FIdRestaurante,
                        NombreRestaurante = res.Restaurante,
                        FIdPersona        = pe.FIdPersona,
                        NombrePersona     = per.nombre
                    };

                    // establece el filtrado de datos
                    if (!string.IsNullOrEmpty(termminoBusqueda))
                    {
                        listaPedidos = listaPedidos.Where(x => x.Id_pedido.ToString().Contains(termminoBusqueda) ||
                                                          x.Referencia.Contains(termminoBusqueda) ||
                                                          x.Fecha.ToString("dd/MM/yyyy").Contains(termminoBusqueda) ||
                                                          x.NombrePersona.Contains(termminoBusqueda) ||
                                                          x.NombreRestaurante.ToString().Contains(termminoBusqueda));
                    }

                    // obtiene el total de registros antes de paginar
                    iTotalRegistros = (listaPedidos != null) ? listaPedidos.Count() : 0;

                    // se establece la ordenación
                    listaPedidos = establecerOrdenacion(campoOrdenar, orden, listaPedidos);

                    // se controla si es búsqueda total o paginada
                    if (registrosPagina > 0)
                    {
                        listaPedidos = listaPedidos.Skip((paginaActual - 1) * registrosPagina).Take(registrosPagina);
                    }

                    lista = listaPedidos.ToList();
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }

            return(lista);
        }
示例#2
0
        /// <summary>
        /// Obtiene la lista de productos filtrada por un témino de búsqueda
        /// ordenada por un campo en el sentido indicado
        /// y paginada según los datos pasados
        /// </summary>
        /// <param name="current">Pagina que se quiere mostrar</param>
        /// <param name="rowCount">filas que se quieren mostrar en cada página</param>
        /// <param name="searchPhrase">Término de búsqueda</param>
        /// <param name="campoOrdenar">Nombre del campo por qu e quieren ordenar los resultados</param>
        /// <param name="orden">sentido de la ordenación</param>
        /// <returns></returns>
        public List <ProductoDTO> GetListaFiltrada(int paginaActual, int registrosPagina, string termminoBusqueda,
                                                   string campoOrdenar, string orden, out int iTotalRegistros)
        {
            // nota: paginacion linq :: coleccion.Skip(pagAMostrar * numElementosPorPagina).Take(numElementosPorPagina);
            List <ProductoDTO> lista = new List <ProductoDTO>();

            try
            {
                using (var db = new PruebasEntities())
                {
                    var listaProductos = from prod in db.Productos
                                         join fam in db.Familia
                                         on prod.FidFamilia equals fam.Id
                                         select new ProductoDTO
                    {
                        Id_prod       = prod.Id_prod,
                        Nombre_prod   = prod.Nombre_prod,
                        Precio        = prod.Precio,
                        FidFamilia    = prod.FidFamilia,
                        NombreFamilia = fam.Nombre
                    };

                    // establece el filtrado de datos
                    if (!string.IsNullOrEmpty(termminoBusqueda))
                    {
                        listaProductos = listaProductos.Where(x => x.Id_prod.ToString().Contains(termminoBusqueda) ||
                                                              x.Nombre_prod.Contains(termminoBusqueda) ||
                                                              x.NombreFamilia.Contains(termminoBusqueda) ||
                                                              x.Precio.ToString().Contains(termminoBusqueda));
                    }

                    // obtiene el total de registros antes de paginar
                    iTotalRegistros = (listaProductos != null) ? listaProductos.Count() : 0;

                    // se establece la ordenación
                    listaProductos = establecerOrdenacion(campoOrdenar, orden, listaProductos);

                    // se controla si es búsqueda total o paginada
                    if (registrosPagina > 0)
                    {
                        listaProductos = listaProductos.Skip((paginaActual - 1) * registrosPagina).Take(registrosPagina);
                    }

                    lista = listaProductos.ToList();
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }

            return(lista);
        }
示例#3
0
        /// <summary>
        /// Obtiene la lista de productos filtrada por un témino de búsqueda
        /// ordenada por un campo en el sentido indicado
        /// y paginada según los datos pasados
        /// </summary>
        /// <param name="current">Pagina que se quiere mostrar</param>
        /// <param name="rowCount">filas que se quieren mostrar en cada página</param>
        /// <param name="searchPhrase">Término de búsqueda</param>
        /// <param name="campoOrdenar">Nombre del campo por qu e quieren ordenar los resultados</param>
        /// <param name="orden">sentido de la ordenación</param>
        /// <returns></returns>
        public List <PersonaDTO> GetListaFiltrada(int paginaActual, int registrosPagina, string termminoBusqueda,
                                                  string campoOrdenar, string orden, out int iTotalRegistros)
        {
            // nota: paginacion linq :: coleccion.Skip(pagAMostrar * numElementosPorPagina).Take(numElementosPorPagina);
            List <PersonaDTO> lista = new List <PersonaDTO>();

            try
            {
                using (var db = new PruebasEntities())
                {
                    var listaPersonas = from per in db.Personas
                                        select new PersonaDTO
                    {
                        id     = per.id,
                        nombre = per.nombre,
                        edad   = per.edad
                    };

                    // establece el filtrado de datos
                    if (!string.IsNullOrEmpty(termminoBusqueda))
                    {
                        listaPersonas = listaPersonas.Where(x => x.id.ToString().Contains(termminoBusqueda) ||
                                                            x.nombre.Contains(termminoBusqueda) ||
                                                            x.edad.ToString().Contains(termminoBusqueda));
                    }

                    // obtiene el total de registros antes de paginar
                    iTotalRegistros = (listaPersonas != null) ? listaPersonas.Count() : 0;

                    // se establece la ordenación
                    listaPersonas = establecerOrdenacion(campoOrdenar, orden, listaPersonas);

                    // se controla si es búsqueda total o paginada
                    if (registrosPagina > 0)
                    {
                        listaPersonas = listaPersonas.Skip((paginaActual - 1) * registrosPagina).Take(registrosPagina);
                    }

                    lista = listaPersonas.ToList();
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }

            return(lista);
        }
示例#4
0
        public List <Personas> Get()
        {
            List <Personas> lista = new List <Personas>();

            try
            {
                using (var db = new PruebasEntities())
                {
                    lista = db.Personas
                            .ToList();
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }

            return(lista);
        }
示例#5
0
        public List <Productos> Get()
        {
            List <Productos> lista = new List <Productos>();

            try
            {
                using (var db = new PruebasEntities())
                {
                    lista = db.Productos
                            .Include("Familia")
                            .ToList();
                }
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }

            return(lista);
        }