예제 #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["Usuario"] == null)
            {
                Response.Redirect("~/Default.aspx");
                return;
            }

            Usuario usuario = (Usuario)Session["Usuario"];

            if (usuario.TipoUsuario != TipoUsuario.Estudiante)
            {
                Response.Redirect("~/Docente.aspx");
                return;
            }

            if (Session["ComisionAlumno"] != null)
            {
                Session.Remove("ComisionAlumno");
            }

            if (IsPostBack)
            {
                return;
            }

            AlumnoService alumnoService = new AlumnoService();

            Alumno alumno = alumnoService.GetAlumnoByUserName(usuario.Nombre);

            List <AlumnoComision> alumnoComisiones = alumnoService.GetAlumnosComision(includeHorarios: true).FindAll(x => x.Alumno.Id == alumno.Id && x.Estado == EstadoMateria.Cursando && x.Deshabilitado == false);

            List <Comision> lista = alumnoComisiones.Select(x => x.Comision).ToList();

            dgvMaterias.DataSource = lista
                                     .OrderBy(x => x.Materia.Carrera.Id)
                                     .ThenBy(x => x.Año)
                                     .ThenBy(x => x.Cuatrimestre).ToList();
            dgvMaterias.DataBind();

            divSinRegistros.Visible = lista.Count == 0;
        }
예제 #2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["Usuario"] == null)
            {
                Response.Redirect("~/Default.aspx");
                return;
            }

            Usuario usuario = (Usuario)Session["Usuario"];

            if (usuario.TipoUsuario != TipoUsuario.Docente)
            {
                Response.Redirect("~/Estudiante.aspx");
                return;
            }

            if (Session["ComisionDocente"] == null)
            {
                Response.Redirect("~/Comisiones.aspx");
                return;
            }

            if (IsPostBack)
            {
                return;
            }

            Comision comision = (Comision)Session["ComisionDocente"];

            AlumnoService         alumnoService = new AlumnoService();
            List <AlumnoComision> lista         = alumnoService.GetAlumnosComision().FindAll(x => x.Comision.Id == comision.Id &&
                                                                                             x.Deshabilitado == false);

            dgvAlumnos.DataSource = lista;
            dgvAlumnos.DataBind();

            divSinRegistros.Visible = lista.Count == 0;
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["Usuario"] == null)
            {
                Response.Redirect("~/Default.aspx");
                return;
            }

            Usuario usuario = (Usuario)Session["Usuario"];

            if (usuario.TipoUsuario != TipoUsuario.Estudiante)
            {
                Response.Redirect("~/Docente.aspx");
                return;
            }

            if (Session["MateriaEstudiante"] != null)
            {
                Session.Remove("MateriaEstudiante");
            }

            if (IsPostBack)
            {
                return;
            }

            #region Creacion de listado de materias a las que se puede inscribir

            AlumnoService  alumnoService  = new AlumnoService();
            MateriaService materiaService = new MateriaService();

            Alumno alumno = alumnoService.GetAlumnoByUserName(usuario.Nombre);

            List <AlumnoComision> alumnoComisiones = alumnoService.GetAlumnosComision()
                                                     .FindAll(x => x.Alumno.Id == alumno.Id && x.Deshabilitado == false);

            List <Materia> materiasAExcluir = alumnoComisiones
                                              .Where(x => x.Estado <= EstadoMateria.Cursando)
                                              .Select(x => x.Comision.Materia).ToList();

            List <Carrera> carreras = new CarreraService().GetByAlumnoId(alumno.Id);
            List <Materia> lista    = new List <Materia>();

            foreach (var carrera in carreras)
            {
                lista.AddRange(materiaService.GetByCarreraId(carrera.Id));
            }

            List <Materia> aux = new List <Materia>(lista);

            foreach (var materia in aux)
            {
                List <MateriaCorrelativa> materiasCorrelativas = materiaService.GetCorrelativasById(materia.Id)
                                                                 .FindAll(x => x.Deshabilitado == false);

                foreach (var correlativa in materiasCorrelativas)
                {
                    bool puedeCursar = false;

                    foreach (var alumnoComision in alumnoComisiones)
                    {
                        if (alumnoComision.Comision.Materia.Id == correlativa.Correlativa.Id &&
                            (alumnoComision.Estado == correlativa.EstadoRequerido || alumnoComision.Estado == EstadoMateria.Aprobada))
                        {
                            puedeCursar = true;
                        }
                    }

                    if (!puedeCursar)
                    {
                        lista.Remove(materia);
                        break;
                    }
                }
            }

            foreach (var materia in materiasAExcluir)
            {
                lista.RemoveAll(x => x.Id == materia.Id);
            }

            #endregion

            dgvMaterias.DataSource = lista
                                     .OrderBy(x => x.Carrera.Id)
                                     .ThenBy(x => x.Año)
                                     .ThenBy(x => x.Cuatrimestre).ToList();

            dgvMaterias.DataBind();

            divSinRegistros.Visible = lista.Count == 0;
        }