예제 #1
0
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            try
            {
                validarEntidad();

                ComisionService s = new ComisionService();

                if (comision.Id != 0)
                {
                    s.Update(comision);
                }
                else
                {
                    s.Insert(comision);
                }

                CommonHelper.ShowInfo("Comisión guardada con éxito.");
                this.DialogResult = DialogResult.OK;
            }
            catch (WarningException ex)
            {
                CommonHelper.ShowWarning(ex.Message);
            }
            catch (Exception ex)
            {
                CommonHelper.ShowError(ex.Message);
            }
        }
        protected void btnInstancias_Click(object sender, EventArgs e)
        {
            Button      button = (Button)sender;
            GridViewRow row    = (GridViewRow)button.NamingContainer;

            long comisionId = Convert.ToInt64(row.Cells[0].Text);

            Comision comision = new ComisionService().GetById(comisionId);

            Session.Add("ComisionDocente", comision);
            Response.Redirect("~/InstanciasComision.aspx");
        }
예제 #3
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)
            {
                Response.Redirect("~/Inscripciones.aspx");
                return;
            }

            if (IsPostBack)
            {
                return;
            }

            AlumnoService   alumnoService   = new AlumnoService();
            ComisionService comisionService = new ComisionService();

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

            Materia materia = (Materia)Session["MateriaEstudiante"];

            List <Comision> lista = comisionService.GetActualesByMateria(materia.Id);

            try
            {
                dgvComisiones.DataSource = lista;
                dgvComisiones.DataBind();
            }
            catch (Exception ex)
            {
                CrearModal("Error", ex.Message);
            }
            finally
            {
                divSinRegistros.Visible = lista.Count == 0;
            }
        }
예제 #4
0
        private void validarHorario()
        {
            string errores = "";

            if (dtpHoraInicio.Text.Trim() == "" || dtpHoraFin.Text.Trim() == "")
            {
                errores += "Debe completar todos los campos. " + Environment.NewLine;
            }

            else if (dtpHoraInicio.Value >= dtpHoraFin.Value)
            {
                errores += "La hora de fin debe ser mayor a la hora de inicio. " + Environment.NewLine;
            }

            if (cmbDia.SelectedItem == null)
            {
                errores += "Debe seleccionar un día. " + Environment.NewLine;
            }

            if (errores != "")
            {
                throw new WarningException(errores);
            }

            horario            = new Horario();
            horario.HoraInicio = dtpHoraInicio.Value.TimeOfDay;
            horario.HoraFin    = dtpHoraFin.Value.TimeOfDay;
            horario.DiaSemana  = (DiaDeLaSemana)cmbDia.SelectedItem;

            ComisionService s = new ComisionService();

            var horarios = s.GetHorariosById(comision.Id);

            foreach (var Horario in horarios)
            {
                if (Horario.DiaSemana == horario.DiaSemana)
                {
                    if (Horario.HoraInicio == horario.HoraInicio && Horario.HoraFin == horario.HoraFin)
                    {
                        throw new WarningException("La comisión ya posee un horario con los mismos datos.");
                    }
                    if (horario.HoraInicio < Horario.HoraFin && horario.HoraFin > Horario.HoraInicio)
                    {
                        throw new WarningException("La comisión posee un horario que se superpone con el que está intentando asignar. Modifique el existente o quítelo e intente nuevamente.");
                    }
                }
            }
        }
        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)
            {
                Session.Remove("ComisionDocente");
            }

            if (IsPostBack)
            {
                return;
            }

            ProfesorService profesorService = new ProfesorService();

            Profesor profesor = profesorService.GetProfesorByUserName(usuario.Nombre);

            List <Comision> lista = new ComisionService().GetAll().FindAll(x => x.Profesor.Id == profesor.Id ||
                                                                           (x.Ayudante == null ? false : x.Ayudante.Id == profesor.Id));

            dgvComisiones.DataSource = lista
                                       .OrderByDescending(x => x.Año)
                                       .ThenBy(x => x.Cuatrimestre).ToList();
            dgvComisiones.DataBind();

            divSinRegistros.Visible = lista.Count == 0;
        }
예제 #6
0
        private void cargarGrilla()
        {
            ComisionService s = new ComisionService();

            try
            {
                Comisiones = s.GetAll();
                if (txtBuscar.Text != "")
                {
                    txtBuscar.Text = "";
                }
                dgvGrilla.DataSource = Comisiones.FindAll(x => x.Deshabilitado == false || chbDeshabilitados.Checked)
                                       .OrderByDescending(x => x.Año)
                                       .ThenBy(x => x.Cuatrimestre)
                                       .ThenBy(x => x.Turno.Id)
                                       .ThenBy(x => x.Materia.Nombre).ToList();
                dgvGrilla.Columns["Id"].HeaderText         = "Código";
                dgvGrilla.Columns["Deshabilitado"].Visible = chbDeshabilitados.Checked;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #7
0
        private void btnEliminar_Click(object sender, EventArgs e)
        {
            if (!CommonHelper.SeleccionoRegistro(dgvGrilla))
            {
                return;
            }

            if (!CommonHelper.Confirma())
            {
                return;
            }

            try
            {
                ComisionService s = new ComisionService();
                Comision        a = (Comision)dgvGrilla.SelectedRows[0].DataBoundItem;
                s.Delete(a.Id);
                cargarGrilla();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
예제 #8
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 (Session["AlumnoComision"] == null)
            {
                Response.Redirect("~/AlumnosComision");
                return;
            }

            if (IsPostBack)
            {
                return;
            }

            AlumnoService    alumnoService    = new AlumnoService();
            ComisionService  comisionService  = new ComisionService();
            InstanciaService instanciaService = new InstanciaService();

            Alumno alumno = alumnoService.GetById((int)Session["AlumnoComision"]);

            lblAlumno.Text = alumno.ToString();

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

            List <Instancia> instancias = instanciaService.GetAll()
                                          .FindAll(x => x.Comision.Id == comision.Id && x.Deshabilitado == false);

            List <InstanciaAlumno> conNota = instanciaService.GetAllIncludeNotasAlumnos()
                                             .FindAll(x => instancias.Any(y => y.Id == x.Instancia.Id) && x.Alumno.Id == alumno.Id && x.Deshabilitado == false);

            List <InstanciaAlumno> lista = new List <InstanciaAlumno>();

            foreach (var instancia in instancias)
            {
                InstanciaAlumno instanciaAlumno = new InstanciaAlumno();
                instanciaAlumno.Instancia = instancia;

                var aux = conNota.Find(x => x.Instancia.Id == instancia.Id && x.Deshabilitado == false);
                if (aux != null)
                {
                    instanciaAlumno.Nota        = aux.Nota;
                    instanciaAlumno.Comentarios = aux.Comentarios;
                }

                lista.Add(instanciaAlumno);
            }

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

            divSinRegistros.Visible = lista.Count == 0;
        }
예제 #9
0
        private void validarEntidad()
        {
            string errores = "";

            if (cmbMateria.SelectedItem == null)
            {
                errores += "Debe seleccionar una materia. " + Environment.NewLine;
            }

            if (cmbCuatrimestre.SelectedItem == null && cmbCuatrimestre.Enabled)
            {
                errores += "Debe seleccionar un cuatrimestre. " + Environment.NewLine;
            }

            if (cmbTurno.SelectedItem == null)
            {
                errores += "Debe seleccionar un turno. " + Environment.NewLine;
            }

            if (cmbModalidad.SelectedItem == null)
            {
                errores += "Debe seleccionar una modalidad. " + Environment.NewLine;
            }

            if (cmbProfesor.SelectedItem == null)
            {
                errores += "Debe seleccionar un profesor. " + Environment.NewLine;
            }

            if (errores != "")
            {
                throw new WarningException(errores);
            }

            if (comision == null)
            {
                comision = new Comision();
            }
            comision.Materia      = (Materia)cmbMateria.SelectedItem;
            comision.Año          = dtpAño.Value.Year;
            comision.Cuatrimestre = (byte?)(cmbCuatrimestre.SelectedItem ?? null);
            comision.Turno        = (Turno)cmbTurno.SelectedItem;
            comision.Modalidad    = (Modalidad)cmbModalidad.SelectedItem;
            comision.Profesor     = (Profesor)cmbProfesor.SelectedItem;
            comision.Ayudante     = (Profesor)cmbAyudante.SelectedItem ?? null;
            if (comision.Ayudante != null && comision.Ayudante.Id == 0)
            {
                comision.Ayudante = null;
            }

            if (comision.Ayudante != null && comision.Ayudante.Id == comision.Profesor.Id)
            {
                throw new WarningException("No puede asignar el profesor como ayudante a la vez.");
            }

            ComisionService s = new ComisionService();

            var comisiones = s.GetAll().FindAll(x => x.Deshabilitado == false);

            foreach (var Comision in comisiones)
            {
                if (Comision.Id != comision.Id)
                {
                    if (Comision.Materia.Id == comision.Materia.Id &&
                        Comision.Año == comision.Año &&
                        Comision.Cuatrimestre == comision.Cuatrimestre &&
                        Comision.Turno.Id == comision.Turno.Id)
                    {
                        throw new WarningException("Ya existe una comisión para la materia " + Comision.Materia + ", año "
                                                   + Comision.Año + (Comision.Cuatrimestre == null ? "" : ", cuatrimestre " + Comision.Cuatrimestre) + " y turno " + Comision.Turno + ".");
                    }
                }
            }
        }