public ListaPaginada <ProductoSearch> BuscarProductosStock(ProductoSearchFiltros filtros)
        {
            ListaPaginada <ProductoSearch> result;

            using (var unitOfWork = new AppUnitOfWork())
            {
                result = unitOfWork.ProductoRepository.BuscarProductosStock(filtros);
            }

            return(result);
        }
Example #2
0
        public ListaPaginada <ProductoSearch> BuscarProductosStock(ProductoSearchFiltros filtros)
        {
            var result = new ListaPaginada <ProductoSearch>();

            filtros.Nombre = filtros.Nombre ?? "";
            //Para la paginación es necesario que se indique el ordenamiento
            //con orderby
            var query = from a in context.Set <Categoria>()
                        join b in context.Set <Producto>()
                        on a.CategoriaID equals b.CategoriaID
                        join c in context.Set <Marca>()
                        on b.MarcaID equals c.MarcaID
                        where b.Nombre.Contains(filtros.Nombre) &&
                        b.StockActual > filtros.Stock
                        orderby b.ProductoID
                        select new ProductoSearch()
            {
                ProductoID    = b.ProductoID,
                Nombre        = b.Nombre,
                CategoriaName = a.Nombre,
                PrecioMayor   = b.PrecioMayor,
                PrecioMenor   = b.PrecioMenor,
                ProductoCode  = b.ProductoCode,
                StockActual   = b.StockActual,
                MarcaName     = c.Nombre
            };

            //Primero se obtienen la cantidad total de registros
            result.TotalRows = query.Count();

            //Finalmente se pagina en el servidor
            //Se toman el primer registro de la página seleccionada
            query = query.Skip(filtros.PageSize * (filtros.PageIndex - 1));
            //Se toman los registros restantes según el tamaño de página
            query = query.Take(filtros.PageSize);

            result.Listado = query.ToList();

            return(result);
        }
Example #3
0
        public JsonResult BuscarProductosStock(ProductoSearchFiltros filtros)
        {
            var model = productoService.BuscarProductosStock(filtros);

            return(Json(model, JsonRequestBehavior.AllowGet));
        }