public ActionResult Index(ForoIndexViewModel viewModel) { viewModel.categorias = db.ForoCategorias.ToList(); viewModel.categoriasLateral = db.ForoCategorias.ToList(); var hilos = new List <ForoHilo>(); if (ModelState.IsValid) { if (!string.IsNullOrEmpty(viewModel.TextoBusqueda)) { hilos = ForoHiloDataAccess.ObtenerForoHilo().Where(fh => fh.Titulo.ToUpper().Contains(viewModel.TextoBusqueda.ToUpper())).ToList(); var idsCategorias = hilos.Select(hil => hil.ForoCategoriaId).ToList(); viewModel.categorias = viewModel.categorias.Where(fc => idsCategorias.Contains(fc.ForoCategoriaId)).ToList(); } else { foreach (var categoria in viewModel.categorias) { hilos.AddRange(ForoHiloDataAccess.ObtenerForoHilo().Where(fh => fh.ForoCategoriaId == categoria.ForoCategoriaId).Take(3)); } } } else { foreach (var categoria in viewModel.categorias) { hilos.AddRange(ForoHiloDataAccess.ObtenerForoHilo().Where(fh => fh.ForoCategoriaId == categoria.ForoCategoriaId).Take(3)); } } viewModel.hilos = hilos; return(View(viewModel)); }
// GET: Alumno/Foro public ActionResult Index(int?categoriaId) { ForoIndexViewModel viewModel = new ForoIndexViewModel(); var hilos = new List <ForoHilo>(); viewModel.categoriasLateral = db.ForoCategorias.ToList(); if (categoriaId.HasValue) { viewModel.categorias = db.ForoCategorias.Where(cat => cat.ForoCategoriaId == categoriaId.Value).ToList(); hilos = ForoHiloDataAccess.ObtenerForoHilo().Where(fh => fh.ForoCategoriaId == categoriaId.Value).Take(10).ToList(); } else { viewModel.categorias = db.ForoCategorias.ToList(); foreach (var categoria in viewModel.categorias) { hilos.AddRange(ForoHiloDataAccess.ObtenerForoHilo().Where(fh => fh.ForoCategoriaId == categoria.ForoCategoriaId).Take(3)); } } viewModel.hilos = hilos; return(View(viewModel)); }