private void LoadMaterias() { if (Session["alumno"] != null) { UsuarioActual = UsuarioLogic.GetOneForPersona(((Persona)Session["alumno"]).ID); } else { UsuarioActual = (Usuario)Session["usuario"]; } List <Materia> materias = new List <Materia>(); Persona alumno = PersonaLogic.GetOne(UsuarioActual.IdPersona); DataTable inscripciones = InscripcionLogic.GetAllInscripcionesForAlumno(alumno); //materias a las que está inscripto List <Materia> materiasPlan = MateriaLogic.GetAllForPlan(alumno.IdPlan); //materias del plan foreach (Materia materia in materiasPlan) { bool libre = true; foreach (DataRow row in inscripciones.Rows) { if (materia.ID == (int)row["id_materia"]) { if (((string)row["condicion"]).Equals("Inscripto") || ((string)row["condicion"]).Equals("Aprobado")) { libre = false; } } } if (libre) { materias.Add(materia); } } this.gvMaterias.DataSource = materias; this.gvMaterias.DataBind(); }