public List <DatosCursos> ObtenerDatosUsr() { List <DatosCursos> datosCursos = new List <DatosCursos>(); try { List <Curso> cursos = CursoLog.GetCursosUsuario(PersonaActual.IDPlan); Alumno_InscripcionLogic alInscLog = new Alumno_InscripcionLogic(); List <Alumno_Inscripcion> inscripciones = alInscLog.GetMateriasInscripto(PersonaActual.ID); foreach (Curso c in cursos) { DatosCursos datosCurso = new DatosCursos(); Alumno_InscripcionLogic ail = new Alumno_InscripcionLogic(); int cupoActual = c.Cupo - ail.GetCantidadInscriptos(c.ID); datosCurso.Cupo = cupoActual; datosCurso.ID = c.ID; MateriaLogic ml = new MateriaLogic(); Materia mat = ml.GetOne(c.IDMateria); datosCurso.DescMateria = mat.Descripcion; ComisionLogic cl = new ComisionLogic(); Comision com = cl.GetOne(c.IDComision); datosCurso.DescComision = com.Descripcion; datosCursos.Add(datosCurso); } foreach (Alumno_Inscripcion ai in inscripciones) { foreach (DatosCursos dc in datosCursos) { if (ai.IDCurso == dc.ID) { datosCursos.Remove(dc); break; } } } } catch (Exception ex) { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('" + ex.Message + "')", true); } return(datosCursos); }
public void Listar() { try { if (PersonaActual == null) { this.dgvCursos.DataSource = this.ObtenerDatos(); } else { this.dgvCursos.DataSource = this.ObtenerDatosUsr(); Alumno_InscripcionLogic alInscLog = new Alumno_InscripcionLogic(); List <Alumno_Inscripcion> inscripciones = alInscLog.GetMateriasInscripto(PersonaActual.ID); List <int> idInscripciones = new List <int>(); foreach (Alumno_Inscripcion ai in inscripciones) { int idCurso = ai.IDCurso; idInscripciones.Add(idCurso); } foreach (DataGridViewRow row in dgvCursos.Rows) { if (idInscripciones.Contains(int.Parse(row.Cells["ID"].Value.ToString()))) { row.DefaultCellStyle.BackColor = Color.LightGray; row.Cells["Inscribirse"].ReadOnly = true; row.Cells["Inscribirse"].Value = 2; } } } } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }