コード例 #1
0
        public IEnumerable<modAlojamiento> GetAlojamientos(FiltroAlojamiento fa)
        {
            var busqueda = from a in bd.Alojamiento
                           join ta in bd.Tipo_Alojamiento on a.id_tipo equals ta.id
                           select new { entity = a, tipo = ta };

            if (fa != null)
            {
                if (!string.IsNullOrEmpty(fa.Nombre))
                {
                    busqueda = from a in busqueda
                               where a.entity.nombre.Contains(fa.Nombre) || fa.Nombre.Contains(a.entity.nombre)
                               || a.entity.descripcion.Contains(fa.Nombre)
                               select a;
                }

                if (fa.IdTipo.HasValue)
                {
                    busqueda = from a in busqueda
                               where a.entity.id_tipo == fa.IdTipo.Value
                               select a;
                }
            }

            return busqueda.Select(x => new modAlojamiento()
            {
                alojamientoDB = x.entity,
                DesTipo = x.tipo.descripcion
            }) ;
        }
コード例 #2
0
        public ActionResult Buscar(FiltroAlojamiento filtro)
        {
            var serv = new AlojamientoService();
            var resultOrd = serv.GetAlojamientos(filtro).OrderBy(x => x.Nombre);

            var longPag = Int32.Parse(System.Configuration.ConfigurationManager.AppSettings["AlojamientosPorPagina"]);

            Double cantPag = ((Double)resultOrd.Count()) / longPag;
            var result = resultOrd.Skip((filtro.Pagina - 1) * longPag).Take(longPag);

            var cantPagReal = Math.Truncate(cantPag);

            if ((cantPag - cantPagReal) > 0)
                cantPagReal += 1;

            ViewBag.CantPaginas = (int)cantPagReal;
            ViewBag.Pagina = filtro.Pagina;

            return PartialView("ResultadosAlojamientos", result);
        }