// GET: Admin/Bloques public ActionResult Index(int id, int?pestanya) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var subtema = db.SubTemas.Include(s => s.Tema).SingleOrDefault(s => s.SubTemaId == id); if (subtema == null) { return(HttpNotFound()); } var bloques = db.Bloques.Include(t => t.Area).Include(t => t.TipoEjercicio).Where(t => t.SubTemaId == id).ToList(); List <Extra> Extras; var Gramaticas = db.Gramaticas.Where(gram => gram.SubTemaId == id).OrderBy(d => d.Orden).ToList(); var Juegos = db.Juegos.Include(jue => jue.CategoriaJuego).Where(jue => jue.SubTemaId == id).ToList(); var JuegoOnlines = db.JuegoOnlines.Include(t => t.TipoJuegoOnline).Where(jue => jue.SubTemaId == id).ToList(); var SubTemaVideos = db.SubTemaVideos.Where(jue => jue.SubTemaId == id).ToList(); try { Extras = db.Extras.Include(ex => ex.CategoriaExtra).Where(jue => jue.SubTemaId == id).ToList(); } catch (SqlException te) { Extras = new List <Extra>(); } BloquesIndexViewModel viewModel = new BloquesIndexViewModel(); if (pestanya.HasValue) { viewModel.pestanyaSeleccionada = pestanya.Value; } else { viewModel.pestanyaSeleccionada = (int)PestanyasBloques.Gramaticas; } viewModel.listadoBloques = bloques; viewModel.listadoGramaticas = Gramaticas; viewModel.listadoJuegos = Juegos; viewModel.listadoSubTemaVideos = SubTemaVideos; viewModel.listadoExtras = Extras; viewModel.listadoJuegoOnlines = JuegoOnlines; viewModel.Subtema = subtema; viewModel.InicializarDesplegables(); return(View(viewModel)); }
public ActionResult Index(int id, BloquesIndexViewModel viewModel) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var subtema = db.SubTemas.Include(s => s.Tema).SingleOrDefault(s => s.SubTemaId == id); if (subtema == null) { return(HttpNotFound()); } var busqueda = db.Bloques.Include(t => t.Area).Include(t => t.TipoEjercicio).Where(t => t.SubTemaId == id).ToList(); if (!string.IsNullOrWhiteSpace(viewModel.TextoBusqueda)) { busqueda = busqueda.Where(x => x.Descripcion.Contains(viewModel.TextoBusqueda) || x.TipoEjercicio.Descripcion.Contains(viewModel.TextoBusqueda) || x.Area.Descripcion.Contains(viewModel.TextoBusqueda)).ToList(); } if (viewModel.AreaBusquedaId.HasValue) { busqueda = busqueda.Where(x => x.AreaId == viewModel.AreaBusquedaId.Value).ToList(); } if (viewModel.TipoEjercicioBusquedaId.HasValue) { busqueda = busqueda.Where(x => x.TipoEjercicioId == viewModel.TipoEjercicioBusquedaId.Value).ToList(); } var Gramaticas = db.Gramaticas.Where(gram => gram.SubTemaId == id).OrderBy(d => d.Orden).ToList(); var Juegos = db.Juegos.Include(jue => jue.CategoriaJuego).Where(jue => jue.SubTemaId == id).ToList(); var SubTemaVideos = db.SubTemaVideos.Where(jue => jue.SubTemaId == id).ToList(); var JuegoOnlines = db.JuegoOnlines.Include(t => t.TipoJuegoOnline).Where(jue => jue.SubTemaId == id).ToList(); var Extras = db.Extras.Include(ex => ex.CategoriaExtra).Where(jue => jue.SubTemaId == id).ToList(); viewModel.listadoJuegos = Juegos; viewModel.listadoGramaticas = Gramaticas; viewModel.listadoBloques = busqueda; viewModel.Subtema = subtema; viewModel.listadoSubTemaVideos = SubTemaVideos; viewModel.listadoExtras = Extras; viewModel.listadoJuegoOnlines = JuegoOnlines; viewModel.InicializarDesplegables(); return(View(viewModel)); }
// GET: Admin/Contenidos public ActionResult Index(int id, int areaId) { if (id == null || areaId == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var subtema = SubTemaDataAccess.ObtenerSubTemas(db).Include(s => s.Tema).SingleOrDefault(s => s.SubTemaId == id); var area = db.Areas.SingleOrDefault(s => s.AreaId == areaId); if (subtema == null || area == null) { return(HttpNotFound()); } if (!ComprobarAccesoSubTema(id)) { return(RedirectToAction("SinAcceso", "Home", new { Area = "Alumno" })); } var realizados = ContenidoHelper.ObtenerEjercicioHecho(id, areaId); var conMistakes = ContenidoHelper.ObtenerEjerciciosConMistakes(id, areaId); var bloques = BloqueDataAccess.ObtenerBloques(db).Include(t => t.TipoEjercicio).Where(t => t.SubTemaId == id && t.AreaId == areaId).ToList(); var bloquesIds = bloques.Select(bl => bl.BloqueId).ToList(); BloquesIndexViewModel viewModel = new BloquesIndexViewModel(); viewModel.listadoBloques = bloques; var userId = ((ClaimsIdentity)User.Identity).FindFirst("UserId").Value; viewModel.bloquesDesbloqueados = db.BloqueDesbloqueados.Where(ex => ex.AlumnoId == userId && bloquesIds.Contains(ex.BloqueId)).Select(ex => ex.BloqueId).ToList(); viewModel.Subtema = subtema; viewModel.Area = area; viewModel.realizados = realizados.Select(br => br.BloqueId).ToList(); viewModel.conMistakes = conMistakes.Select(br => br.BloqueId).ToList(); return(View(viewModel)); }