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));
        }
예제 #2
0
        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
            }));
        }