public ActionResult Buscar(FiltroBondisRicoteros filtro) { var serv = new BondisRicoterosService(); var resultOrd = serv.GetBondisRicoteros(filtro).OrderByDescending(x => x.Prioridad).ThenBy(x => x.Nombre); var longPag = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["BondisPorPagina"]); ViewBag.ResultadosTotales = resultOrd.Count(); Double cantPag = ((Double)resultOrd.Count()) / longPag; var cantPagReal = Math.Truncate(cantPag); if ((cantPag - cantPagReal) > 0) { cantPagReal += 1; } ViewBag.CantPaginas = (int)cantPagReal; filtro.Pagina = filtro.Pagina == 0 || cantPagReal < filtro.Pagina ? 1 : filtro.Pagina; ViewBag.Pagina = filtro.Pagina; var result = resultOrd.Skip((filtro.Pagina - 1) * longPag).Take(longPag); return(PartialView("ResultadosBondisRicoteros", result)); }
public IEnumerable <modBondiRicotero> GetBondisRicoteros(FiltroBondisRicoteros fbr) { var busqueda = from br in bd.BondiRicotero select br; if (!string.IsNullOrEmpty(fbr.Nombre)) { busqueda = from br in busqueda where br.nombre.Contains(fbr.Nombre) select br; } if (fbr.id_zona.HasValue) { busqueda = from br in busqueda from zo in br.Zona where zo.id == fbr.id_zona.Value select br; } else if (fbr.id_provincia.HasValue) { busqueda = from br in busqueda from zo in br.Zona join pr in bd.Provincia on zo.id_provincia equals pr.id where pr.id == fbr.id_provincia.Value select br; } return(busqueda.ToList().Distinct(new BondiComparer()).Select(x => new modBondiRicotero() { bondiRicoteroDB = x })); }