/**
         * Retorna la lista con los grupos a los que se le puede hacer inclusion
         **/
        public LinkedList<Grupo> ObtenerGruposParaInclusion(int pCurso)
        {
            try
            {
                _objConexionBase = new Inclutec_BDEntities();
                var _Grupos = from _sifGrupos in _objConexionBase.SIFGrupoes
                              where _sifGrupos.FK_Curso_idCurso == pCurso
                              select _sifGrupos;

                LinkedList<Grupo> _sifGrupoLista = new LinkedList<Grupo>();
                foreach (SIFGrupo _sifGrupo in _Grupos)
                {
                    Grupo _grupo = new Grupo();
                    _grupo.Id_Grupo = _sifGrupo.id_Grupo;
                    _grupo.Num_Cupos = _sifGrupo.num_cupos;
                    _grupo.Num_Cupos_Extra = _sifGrupo.num_cupos_extra;
                    _grupo.Num_Grupo = _sifGrupo.num_grupo;
                    _grupo.Li_Horarios = new LinkedList<Horario>();

                    //Agrega todos los horarios de ese grupo
                    var _liHorario = from _sitHorarios in _objConexionBase.SITHorarios
                                     where _sitHorarios.FK_Grupo_idGrupo == _grupo.Id_Grupo
                                     select _sitHorarios;

                    foreach (SITHorario _sitHorario in _liHorario)
                    {
                        Horario _objHorario = new Horario();
                        _objHorario.Id_Horario = _sitHorario.id_Horario;
                        _objHorario.Txt_Dia = _sitHorario.txt_dia;
                        _objHorario.Txt_Hora_Final = _sitHorario.tim_hora_fin.ToString();
                        _objHorario.Txt_Hora_Inicio = _sitHorario.tim_hora_inicio.ToString();
                        _grupo.Li_Horarios.AddLast(_objHorario);
                    }
                    _sifGrupoLista.AddLast(_grupo);
                }
                _objConexionBase.Connection.Close();
                return _sifGrupoLista;
            }
            catch (Exception)
            {
                return null;
            }
        }
        /**
         * Retorna los grupos especificados en una solicitud de inclusion
         **/
        public LinkedList<Grupo_Por_Solicitud> ObtenerGruposInclusion(Solicitud pSolicitud)
        {
            try
            {
                _objConexionBase = new Inclutec_BDEntities();

                var _liGruposSolicitud = from _sifGruposSolicitud in _objConexionBase.SIFGrupo_Por_Solicitud
                                         where _sifGruposSolicitud.FK_Solicitud_idSolicitud == pSolicitud.Id_Solicitud
                                         select _sifGruposSolicitud;

                LinkedList<Grupo_Por_Solicitud> _liGrupos = new LinkedList<Grupo_Por_Solicitud>();

                foreach(SIFGrupo_Por_Solicitud _sifGrupoSolicitud in _liGruposSolicitud){

                    //Obtiene el grupo por solicitud
                    Grupo_Por_Solicitud _gpsGrupo = new Grupo_Por_Solicitud();
                    _gpsGrupo.Id_Grupo_Por_Solicitud = _sifGrupoSolicitud.id_Grupo_Por_Solicitud;
                    _gpsGrupo.Num_Prioridad = _sifGrupoSolicitud.num_prioridad;

                    //Obtiene el grupo
                    SIFGrupo _sifGrupo = (from _sifGrupos in _objConexionBase.SIFGrupoes
                                        where _sifGrupos.id_Grupo == _sifGrupoSolicitud.FK_Grupo_idGrupo
                                        select _sifGrupos).First();

                    Grupo _gGrupo = new Grupo();
                    _gGrupo.Id_Curso = _sifGrupo.FK_Curso_idCurso;
                    _gGrupo.Id_Grupo = _sifGrupo.id_Grupo;
                    _gGrupo.Num_Cupos = _sifGrupo.num_cupos;
                    _gGrupo.Num_Cupos_Extra = _sifGrupo.num_cupos_extra;
                    _gGrupo.Num_Grupo = _sifGrupo.num_grupo;

                    //Define los horarios para los grupos
                    var _liHorarios = from _sitHorarios in _objConexionBase.SITHorarios
                                      where _sitHorarios.FK_Grupo_idGrupo == _gGrupo.Id_Grupo
                                      select _sitHorarios;

                    _gGrupo.Li_Horarios = new LinkedList<Horario>();

                    foreach (SITHorario _sitHorario in _liHorarios)
                    {
                        Horario _hHorario = new Horario();
                        _hHorario.Id_Horario = _sitHorario.id_Horario;
                        _hHorario.Txt_Dia = _sitHorario.txt_dia;
                        _hHorario.Txt_Hora_Final = _sitHorario.tim_hora_fin.ToString();
                        _hHorario.Txt_Hora_Inicio = _sitHorario.tim_hora_inicio.ToString();
                        _gGrupo.Li_Horarios.AddLast(_hHorario);
                    }

                    //Define el grupo de grupo por solicitud
                    _gpsGrupo.Id_Grupo = _gGrupo;

                    //Agrega grupo por solicitud a la lista
                    _liGrupos.AddLast(_gpsGrupo);
                }

                _objConexionBase.Connection.Close();
                return _liGrupos;
            }
            catch (Exception)
            {
                return null;
            }
        }