protected void btnAgregarExcepcion_Click(object sender, EventArgs e)
        {
            IMetodosAdministrador _metAdministrador = new MetodosAdministrador();
            string _carnet = txtCarnet.Text;
            int _idCurso = int.Parse(ddlCurso.SelectedValue);
            int _idGrupo = int.Parse(ddlGrupo.SelectedValue);

            Ado.ClasesComunes.Periodo _periodoActual = new Ado.ClasesComunes.Periodo();
            _periodoActual = _metAdministrador.UltimoPeriodo();

            if(_periodoActual != null)
            {
                bool _resultado = _metAdministrador.CrearExcepcion(_periodoActual.Id_Periodo, _idCurso, _idGrupo, _carnet);

                if(_resultado)
                {
                    lblPopupHeader.Text = "Excepcion Agregada";
                    lblPopupBody.Text = "La excepcion ha sido agregada correctamente al sistema.";
                    Pop_Alerta.Show();
                }
                else
                {
                    lblPopupHeader.Text = "Error al agregar excepcion";
                    lblPopupBody.Text = "La excepcion no pudo ser agregada al sistema.";
                    Pop_Alerta.Show();
                }
            }
            else
            {
                lblPopupHeader.Text = "Error al agregar excepcion";
                lblPopupBody.Text = "No existe un periodo de recepcion definido aún.";
                Pop_Alerta.Show();
            }
        }
        protected void btnDefinirPeriodo_Click(object sender, EventArgs e)
        {
            IMetodosAdministrador _metAdministrador = new MetodosAdministrador();
            if (_metAdministrador.UltimoPeriodo() == null)
            {
                //GET datos para creacion de periodo
                string txt_Modalidad = ddlModalidad.SelectedValue;//"S"
                int num_Periodo = int.Parse(ddlPeriodo.SelectedValue);//
                int num_Anio = int.Parse(txtAnio.Text);
                string txt_FechaInicio = txtFechaInicio.Text;
                string txt_FechaFin = txtFechaFinal.Text;

                Ado.ClasesComunes.Periodo _periodoNuevo = new Ado.ClasesComunes.Periodo();
                _periodoNuevo.Txt_Modalidad = txt_Modalidad;
                _periodoNuevo.Num_Periodo = num_Periodo;
                _periodoNuevo.Num_Anno = num_Anio;
                _periodoNuevo.Fec_Inicio = DateTime.Parse(txt_FechaInicio + " 00:00:00");
                _periodoNuevo.Fec_Fin = DateTime.Parse(txt_FechaFin + " 00:00:00");
                _periodoNuevo.Txt_Estado = "En Curso";

                //Guardar en BD
                _metAdministrador.DefinirPeriodoSolicitud(_periodoNuevo);
                lblPopupHeader.Text = "Periodo Definido";
                lblPopupBody.Text = "El periodo de recepción de solicitudes ha sido definido de manera exitosa dentro del sistema.";
                Pop_Alerta.Show();
            }
            else
            {
                // Ya hay un periodo definido y en curso
                lblPopupHeader.Text = "Error al definir el periodo";
                lblPopupBody.Text = "El periodo no fue creado, ya que existe un periodo de asignación en curso.";
                Pop_Alerta.Show();
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            Ado.ClasesComunes.Periodo _periodoActual = new Ado.ClasesComunes.Periodo();
            IMetodosAdministrador _metAdministrador = new MetodosAdministrador();
            _periodoActual = _metAdministrador.UltimoPeriodo();
            if (_periodoActual != null)
            {
                LinkedList<string> _encabezados = new LinkedList<string>();
                _encabezados.AddLast("Identificación");
                _encabezados.AddLast("Fecha de Inicio");
                _encabezados.AddLast("Fecha de Fin");
                _encabezados.AddLast("Estado");
                _encabezados.AddLast("Modalidad");
                _encabezados.AddLast("Año");
                _encabezados.AddLast("Número de Periodo");
                TableHeaderRow _encabezado = new TableHeaderRow();
                foreach (var _elemento in _encabezados)
                {
                    TableHeaderCell _celda = new TableHeaderCell();
                    _celda.Text = _elemento;
                    _encabezado.Cells.Add(_celda);
                }

                LinkedList<string> _periodo = new LinkedList<string>();
                _periodo.AddLast(_periodoActual.Id_Periodo.ToString());
                _periodo.AddLast(_periodoActual.Fec_Inicio.Date.ToString());
                _periodo.AddLast(_periodoActual.Fec_Fin.Date.ToString());
                _periodo.AddLast(_periodoActual.Txt_Estado);
                _periodo.AddLast(_periodoActual.Txt_Modalidad);
                _periodo.AddLast(_periodoActual.Num_Anno.ToString());
                _periodo.AddLast(_periodoActual.Num_Periodo.ToString());
                TableRow _fila = new TableRow();
                foreach (var _elemento in _periodo)
                {
                    TableCell _celda = new TableCell();
                    _celda.Text = _elemento;
                    _fila.Cells.Add(_celda);
                }
                //Lleno tabla
                tblPeriodo.Rows.Add(_encabezado);
                tblPeriodo.Rows.Add(_fila);

            }
            else
            {
                //Agrego Label que diga que no hay un periodo de recepcion en curso actualmente.
                lblSinPeriodo.Text = "-- El sistema no tiene actualmente un periodo de recepción de solicitudes en curso actualmente. --";
            }
        }