/// <summary>
 /// Cargars the combo tutor.
 /// </summary>
 /// <param name="idCurso">The id curso.</param>
 /// <param name="ddlTutor">The DDL tutor.</param>
 private void CargarComboTutor(int idCursoCicloLectivo, int idCicloLectivo, DropDownList ddlTutor)
 {
     if (idCursoCicloLectivo > 0)
     {
         List<Tutor> listaTutores = new List<Tutor>();
         BLTutor objBLTutor = new BLTutor();
         AlumnoCurso objFiltro = new AlumnoCurso();
         objFiltro.cursoCicloLectivo.idCursoCicloLectivo = Convert.ToInt32(idCursoCicloLectivo);
         objFiltro.curso.cicloLectivo.idCicloLectivo = Convert.ToInt32(idCicloLectivo);
         listaTutores = objBLTutor.GetTutoresPorCurso(objFiltro);
         UIUtilidades.BindCombo<Tutor>(ddlTutor, listaTutores, "idTutor", "apellido", "nombre", true);
         ddlTutor.Enabled = true;
     }
     else
     { ddlTutor.Enabled = false; }
 }
 private void PrepararEnvioMensaje()
 {
     BLDocente objDocente = null;
     int idCursoCicloLectivo = 0;
     AlumnoCurso objCurso;
     //Docente: a personas o cursos
     //if (HttpContext.Current.User.IsInRole(enumRoles.Docente.ToString())
     // || HttpContext.Current.User.IsInRole(enumRoles.Director.ToString()))
     {
         switch (rdlDestinatarios.SelectedValue)
         {
             case "1":
                 if (ddlDestino.Items.FindByValue("Curso_" + ddlCurso.SelectedValue).Selected)
                 {
                     objCurso = new AlumnoCurso(Convert.ToInt32(ddlCurso.SelectedValue));
                     idCursoCicloLectivo = Convert.ToInt32(ddlCurso.SelectedValue);
                     BLAlumno objBLAlumno = new BLAlumno();
                     List<Alumno> listaAlumnos = objBLAlumno.GetAlumnos(objCurso);
                     ddlDestino.Items.Clear();
                     foreach (Alumno item in listaAlumnos)
                     {
                         ddlDestino.Items.Add(new ListItem("", item.idPersona.ToString()));
                         ddlDestino.Items.FindByValue(item.idPersona.ToString()).Selected = true;
                     }
                 }
                 break;
             case "2":
                 if (ddlDestino.Items.FindByValue("Curso_" + ddlCurso.SelectedValue).Selected)
                 {
                     objCurso = new AlumnoCurso();
                     objCurso.cursoCicloLectivo.idCursoCicloLectivo = Convert.ToInt32(ddlCurso.SelectedValue);
                     BLTutor objBLTutor = new BLTutor();
                     List<Tutor> listaTutores = objBLTutor.GetTutoresPorCurso(objCurso);
                     ddlDestino.Items.Clear();
                     foreach (Tutor item in listaTutores)
                     {
                         ddlDestino.Items.Add(new ListItem("", item.idPersona.ToString()));
                         ddlDestino.Items.FindByValue(item.idPersona.ToString()).Selected = true;
                     }
                 }
                 break;
             case "3":
                 if (ddlDestino.Items.FindByValue("Curso_" + ddlCurso.SelectedValue).Selected)
                 {
                     objDocente = new BLDocente();
                     CursoCicloLectivo objCursoCicloLectivo = new CursoCicloLectivo();
                     objCursoCicloLectivo.idCursoCicloLectivo = Convert.ToInt32(ddlCurso.SelectedValue);
                     List<Docente> listaDocentes = objDocente.GetDocentes(objCursoCicloLectivo.idCursoCicloLectivo);
                     foreach (Docente item in listaDocentes)
                     {
                         ddlDestino.Items.Add(new ListItem("", item.idPersona.ToString()));
                         ddlDestino.Items.FindByValue(item.idPersona.ToString()).Selected = true;
                     }
                     break;
                 }
                 break;
             default:
                 break;
         }
     }
     EnviarMensaje(idCursoCicloLectivo);
 }
        /// <summary>
        /// Cargars the lista.
        /// </summary>
        private void CargarLista()
        {
            BLPersona objpersona = new BLPersona();
            List<Persona> lista = null;

            ////Docente: a personas o cursos
            if (HttpContext.Current.User.IsInRole(enumRoles.Docente.ToString()))
            {
                divDocente.Visible = true;
                CargarComboCursos();
                rdlDestinatarios.Enabled = false;
                ddlDestino.Disabled = true;
            }

            //Alumno: a SUS docentes o su curso
            if (HttpContext.Current.User.IsInRole(enumRoles.Alumno.ToString()))
            {
                Alumno objAlumno = new Alumno { username = ObjSessionDataUI.ObjDTUsuario.Nombre };
                BLAlumno objBLAlumno = new BLAlumno(objAlumno);
                lista = objBLAlumno.GetDocentesAlumno(cicloLectivoActual);
            }

            //Tutor: docentes de sus alumnos
            if (HttpContext.Current.User.IsInRole(enumRoles.Tutor.ToString()))
            {
                Tutor objTutor = new Tutor();
                objTutor.username = ObjSessionDataUI.ObjDTUsuario.Nombre;
                BLTutor objBLTutor = new BLTutor(objTutor);
                lista = objBLTutor.GetDocentesAlumnos(cicloLectivoActual);
            }

            //Administrativo: a tutores
            if (HttpContext.Current.User.IsInRole(enumRoles.Administrativo.ToString()))
            {
                lista = objpersona.GetPersonas(new Persona() { activo = true, idTipoPersona = (int)enumTipoPersona.Tutor });
            }

            //Preceptor: a cualquier persona
            //Director: a cualquier persona
            //Psicopedagogo: a cualquier persona
            if (HttpContext.Current.User.IsInRole(enumRoles.Director.ToString())
                ||
                HttpContext.Current.User.IsInRole(enumRoles.Psicopedagogo.ToString())
                ||
                HttpContext.Current.User.IsInRole(enumRoles.Administrador.ToString())
                ||
                HttpContext.Current.User.IsInRole(enumRoles.Preceptor.ToString())
                )
            {
                chkFiltrado.Visible = true;
                lblFiltrado.Visible = true;
                CargarComboTodosCursos();
                rdlDestinatarios.Enabled = false;
                ddlDestino.Disabled = true;

                lista = objpersona.GetPersonas(new Persona() { activo = true });
            }

            if (lista != null)
            {
                CargarDestinos(lista);
            }
        }
        /// <summary>
        /// Handles the OnSelectedIndexChanged event of the rdlDestinatarios control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        protected void rdlDestinatarios_OnSelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                BLDocente objDocente = null;
                ddlDestino.Items.Clear();
                AlumnoCurso objCurso = null;
                List<Persona> lista = null;
                Persona persona = null;
                switch (rdlDestinatarios.SelectedValue)
                {
                    case "0":
                        ddlDestino.Items.Add(new ListItem(ddlCurso.SelectedItem.Text, ddlCurso.SelectedItem.Value));
                        break;
                    case "1":
                        objCurso = new AlumnoCurso(Convert.ToInt32(ddlCurso.SelectedValue));
                        BLAlumno objBLAlumno = new BLAlumno();
                        List<Alumno> listaAlumnos = objBLAlumno.GetAlumnos(objCurso);
                        ddlDestino.Items.Clear();
                        lista = new List<Persona>();
                        foreach (Alumno item in listaAlumnos)
                        {
                            persona = new Persona();
                            persona.idPersona = item.idPersona;
                            persona.nombre = item.nombre;
                            persona.apellido = item.apellido;
                            persona.username = item.username;

                            if (persona.username != ObjSessionDataUI.ObjDTUsuario.Nombre)
                                lista.Add(persona);
                        }
                        ddlDestino.Items.Add(new ListItem("Alumnos " + ddlCurso.SelectedItem.Text, "Curso_" + ddlCurso.SelectedItem.Value));
                        CargarDestinos(lista);
                        break;
                    case "2":
                        objCurso = new AlumnoCurso();
                        objCurso.cursoCicloLectivo.idCursoCicloLectivo = Convert.ToInt32(ddlCurso.SelectedValue);
                        BLTutor objBLTutor = new BLTutor();
                        List<Tutor> listaTutores = objBLTutor.GetTutoresPorCurso(objCurso);
                        ddlDestino.Items.Clear();
                        lista = new List<Persona>();
                        foreach (Tutor item in listaTutores)
                        {
                            persona = new Persona();
                            persona.idPersona = item.idPersona;
                            persona.nombre = item.nombre;
                            persona.apellido = item.apellido;
                            persona.username = item.username;

                            if (persona.username != ObjSessionDataUI.ObjDTUsuario.Nombre)
                                lista.Add(persona);
                        }
                        ddlDestino.Items.Add(new ListItem("Tutores " + ddlCurso.SelectedItem.Text, "Curso_" + ddlCurso.SelectedItem.Value));
                        CargarDestinos(lista);
                        break;
                    case "3":
                        objDocente = new BLDocente();
                        CursoCicloLectivo objCursoCicloLectivo = new CursoCicloLectivo();
                        objCursoCicloLectivo.idCursoCicloLectivo = Convert.ToInt32(ddlCurso.SelectedValue);
                        List<Docente> listaDocentes = objDocente.GetDocentes(objCursoCicloLectivo.idCursoCicloLectivo);
                        lista = new List<Persona>();
                        foreach (Docente item in listaDocentes)
                        {
                            persona = new Persona();
                            persona.idPersona = item.idPersona;
                            persona.nombre = item.nombre;
                            persona.apellido = item.apellido;
                            persona.username = item.username;

                            if (persona.username != ObjSessionDataUI.ObjDTUsuario.Nombre)
                                lista.Add(persona);
                        }
                        ddlDestino.Items.Add(new ListItem("Docentes " + ddlCurso.SelectedItem.Text, "Curso_" + ddlCurso.SelectedItem.Value));
                        CargarDestinos(lista);
                        break;
                    default:
                        break;
                }
                udpFiltros.Update();
            }
            catch (Exception ex)
            {
                Master.ManageExceptions(ex);
            }
        }
        protected void ddlTutores_SelectedIndexChanged(object sender, EventArgs e)
        {
            BLTutor unBLTutor = new BLTutor();
            Tutor unTutor = new Tutor();
            unTutor.idTutor = int.Parse(ddlTutores.SelectedValue);

            List<Alumno> AlumnosTutor = new List<Alumno>();
            AlumnosTutor = unBLTutor.GetAlumnosDeTutor(unTutor);

            txtAlumno.Text = AlumnosTutor[0].nombre + " " + AlumnosTutor[0].apellido;
        }
        /// <summary>
        /// Cargars the alumno.
        /// </summary>
        protected void cargarAlumno()
        {
            BLTutor unBLTutor = new BLTutor();
            Tutor unTutor = new Tutor();
            unTutor.idTutor = int.Parse(ddlTutorEdit.SelectedValue);

            List<Alumno> AlumnosTutor = new List<Alumno>();
            AlumnosTutor = unBLTutor.GetAlumnosDeTutor(unTutor, propCicloLectivo.idCicloLectivo, Convert.ToInt32(ddlCursoEdit.SelectedValue));

            txtAlumno.Text = AlumnosTutor[0].nombre + " " + AlumnosTutor[0].apellido;
        }