public ArticuloPaginadoViewModel FiltroPaginado(FiltroArticulo filtro) { var resultado = ObtenerArticulosFiltradosPorBusqueda(filtro); var vm = ConstruirViewModel(filtro, resultado); return(vm); }
private List <Articulo> ObtenerArticulosFiltradosPorBusqueda(FiltroArticulo filtro) { var predicado = GenerarWhereBusqueda(filtro); predicado = GenerarWhereTags(predicado, filtro.Tags); predicado = GenerarWhereTipos(predicado, filtro.Tipos); var query = _articuloService.Buscar(predicado); return(query.Include(x => x.Tipo).Include(i => i.Tags).ToList()); }
/*MOSTRAR POR ID*/ /// <summary> /// Maneja la vista que maneja Lista los artiuctos de un negocio de un usuario registrado /// PedroCora /// </summary> /// <returns></returns> public IActionResult ListarArticulo(FiltroArticulo filtro) { Negocio negocioActivo = HttpContext.Session.GetObjectFromJson <Negocio>("negocioEnSession"); ArticuloGeneralModelAndView model = new ArticuloGeneralModelAndView(); model.llenarDatosGenerales(HttpContext, _context); model.filtro.llenar(filtro.nombreFiltro, filtro.total, filtro.paginaActual); List <Articulo> ListarArticulo = ArticuloDao.ListadoDeArticulos(_context, filtro, negocioActivo); model.listaDeArticulos = ListarArticulo; model.filtro = filtro; return(View("ListarArticulo", model)); }
public List <Articulo> ListadoDeArticulos(HiShopContext _context, FiltroArticulo filtro, Negocio negocio) { var lista = _context.Articulos.ToList(); if (!String.IsNullOrEmpty(filtro.nombreFiltro)) { lista = lista.ToList().Where(o => o.Nombre.ToLower().Contains(filtro.nombreFiltro.ToLower())).ToList(); } lista = lista.Where(o => o.NegocioID == negocio.ID).ToList(); List <Articulo> articulos = lista.ToList(); return(filtro.paginar(articulos, filtro.paginaActual)); }
private ArticuloPaginadoViewModel ConstruirViewModel(FiltroArticulo filtro, List <Articulo> articulos) { List <ArticuloViewModel> listado = AutoMapper.Mapper.Map <List <ArticuloViewModel> >(articulos); PagedList.IPagedList <ArticuloViewModel> paginado = new PagedList.PagedList <ArticuloViewModel>(listado, filtro.Pagina, 30); var vm = new ArticuloPaginadoViewModel(); vm.Articulos = paginado; vm.Filtro = filtro; vm.Filtro.TodosTags = _tagService.ObtenerTodos().Select(s => s.Descripcion); vm.Filtro.TodosTipos = _tipoService.ObtenerTodos().ToList(); return(vm); }
private System.Linq.Expressions.Expression <Func <Articulo, bool> > GenerarWhereBusqueda(FiltroArticulo filtro) { var predicado = PredicateBuilder.And <Articulo>(x => true, x => x.Activo == true && x.Privado == false); if (!String.IsNullOrEmpty(filtro.BusquedaGlobal)) { predicado = PredicateBuilder.And(predicado, wh => wh.Contenido.Contains(filtro.BusquedaGlobal) || wh.Tipo.Descripcion.Contains(filtro.BusquedaGlobal) || wh.Tags.Any(a => a.Descripcion.Contains(filtro.BusquedaGlobal) || wh.Titulo.Contains(filtro.BusquedaGlobal))); } return(predicado); }
public ArticuloGeneralModelAndView() { filtro = new FiltroArticulo(); listaDeArticulos = new List <Entity.Articulo>(); }
public ActionResult Index(FiltroArticulo filtro) { var paginado = _articuloManager.FiltroPaginado(filtro); return(View(paginado)); }