private void Estadisticas_Load(object sender, EventArgs e)
        {
            try
            {
                ServiceWebMail sm = new ServiceWebMail();
                XmlNode nodos = sm.ListarAlumnosXml();
                XmlDocument myXmlDocumentObject = new XmlDocument();
                myXmlDocumentObject.AppendChild(myXmlDocumentObject.ImportNode(nodos, true));

                //obtengo objeto para realizar la consulta
                XPathNavigator _Navegador = myXmlDocumentObject.CreateNavigator();

                //ejecuto la consulta
                XPathNodeIterator _Resultado = _Navegador.Select("/raiz/EstadisticaMail");

                //si hay resultado lo muestro;
                //El iterador tiene una propiedad count que me va a determinar la cantidad de nodos que puedo navegar
                if (_Resultado.Count > 0)
                {
                    while (_Resultado.MoveNext())
                    {
                        string nombre = _Resultado.Current.SelectSingleNode("NombreUsuario").ToString();
                        string enviados = _Resultado.Current.SelectSingleNode("MailsEnviados").ToString();
                        string recibidos = _Resultado.Current.SelectSingleNode("MailsRecibidos").ToString();

                        object[] row0 = { nombre, enviados, recibidos };
                        gridEstadistica.Rows.Add(row0);
                    }
                }

                //XmlNode nodeaux = myXmlDocumentObject.SelectSingleNode("/raiz");
                //XmlNodeList estadisticasMail = nodeaux.SelectNodes("EstadisticaMail");
                //foreach (XmlNode n in estadisticasMail)
                //{
                //    while (n.h)
                //    {
                //        n.NextSibling
                //        string nombreUsuario = n.InnerText;
                //    }

                //}

                //          // Create the query
                //var alumnos = from a in XElement.ReadFrom(.Elements("Alumno")
                //            select a;

                //        foreach (XmlNode n in myXmlDocumentObject)
                //        {
                //            object[] row0 = {n.};
                //            UsersListRepeater.Rows.Add(row0);
                //        }

                //sm.get
            }
            catch (Exception ex)
            {

                lblInfo.Text = ex.Message;
            }
        }
        private void UsersListRepeater_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                if (e.ColumnIndex == 1 && e.RowIndex >= 0)
                {
                    int ci;
                    if (Int32.TryParse(Convert.ToString(UsersListRepeater.Rows[e.RowIndex].Cells[0].Value), out ci))
                    {
                        ServiceWebMail sm = new ServiceWebMail();
                        Alumno a = new Alumno { CI = ci };
                        sm.ActualizarStatusAlumno(a, false);
                        lblInfo.Text = "Alumno desactivado";

                        //VOLVEMOS A REALIZAR LA BUSQUEDA PARA QUE ACTUALICE LA INFORMACION
                        //-----------------------------------------------------------------
                        Busqueda();
                    }
                }
            }
            catch (Exception ex)
            {
                lblInfo.Text = ex.Message;
            }
        }
        private void ListadoDocentes_Load(object sender, EventArgs e)
        {
            //TRAEMOMS TODOS LOS DOCENTES DEL SISTEMA
            //---------------------------------------
            try
            {
                ServiceWebMail sm = new ServiceWebMail();
                Docente[] docentes = sm.ListarDocentes();

                //foreach (Docente d in docentes)
                //{
                //    object[] row0 = { "Editar",d.NOMBRE_USUARIO, d.CI, d.NOMBRE, d.APELLIDO };
                //    gridDocentes.Rows.Add(row0);
                //}

                bindingSource1.DataSource = docentes;
                gridDocentes.DataSource = bindingSource1;
                bindingNavigator1.BindingSource= bindingSource1;

            }
            catch (Exception ex)
            {
                lblInfo.Text = ex.Message;
            }
        }
        private void btnActivar_Click(object sender, EventArgs e)
        {
            try
            {
                lblInfo.Text = "";

                if (MessageBox.Show("Realmente desea activar este usuario?", "Activacion de Usuario",
                                 MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                {
                    ServiceWebMail sm = new ServiceWebMail();

                    //ACTIVAMOS EL USUARIO
                    int ci;
                    if (Int32.TryParse(txtDocumento.Text, out ci))
                    {
                        Alumno a = new Alumno { CI = ci };
                        sm.ActualizarStatusAlumno(a, true);
                        lblStatus.Text = "Activo";
                        lblInfo.Text = "Alumno activado!";
                        btnActivar.Enabled = false;
                    }
                }
            }
            catch (Exception ex)
            {
                lblInfo.Text = ex.Message;
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                lblInfo.Text = "";

                if (DOCENTE != null)
                {
                    DOCENTE.APELLIDO = txtApellido.Text;
                    DOCENTE.NOMBRE = txtNombre.Text;
                    DOCENTE.NOMBRE_USUARIO = txtUserName.Text;
                    DOCENTE.MATERIAS = controlMaterias.MATERIAS;
                    DOCENTE.PASS = passwordControl.PASSWORD;

                    ServiceWebMail sm = new ServiceWebMail();
                    sm.ModificarDocente(DOCENTE);

                    lblInfo.Text = "Informacion actualizada";
                }
                else
                {

                    lblInfo.Text = "";
                    Docente d = new Docente
                                    {
                                        APELLIDO = txtApellido.Text,
                                        CI = Convert.ToInt32(txtDocumento.Text),
                                        NOMBRE_USUARIO = txtUserName.Text,
                                        MATERIAS = controlMaterias.MATERIAS,
                                        NOMBRE = txtNombre.Text,
                                        PASS = passwordControl.PASSWORD
                                    };

                    ServiceWebMail sm = new ServiceWebMail();

                    sm.NuevoDocente(d);

                    lblInfo.Text = "Impeca!!, fuiste registrado.";
                    ClearForm();
                }

            }
            catch (Exception ex)
            {
                lblInfo.Text = ex.Message;
            }
        }
        private void btnLoguearse_Click(object sender, EventArgs e)
        {
            try
            {
                //ILogicaUsuario LogicaUsuario = FabricaLogica.getLogicaUsuario();
                ServiceWebMail sm = new ServiceWebMail();
                //Usuario NuevoUsuario = LogicaUsuario.getLoginUsuario(txtUsuario.Text, txtPass.Text);
                Usuario NuevoUsuario = sm.getLoginUsuario(txtNombreUsuario.Text, txtPassword.Text);

                //USUARIO_LOGUEADO = NuevoUsuario;
                if (NuevoUsuario != null)
                {
                    //if (NuevoUsuario is Alumno)
                    //    Response.Redirect("~/AdminAlumno/home.aspx");
                    if (NuevoUsuario is Docente)
                    {
                        this.Hide();
                        MenuPrincipal menuForm = new MenuPrincipal();
                        menuForm.ShowDialog();
                        this.Close();
                    }
                }
                else
                {
                    lblInfo.Text = "El usuario o contraseña ingresados no son validos. Media pila! ...";
                }
            }
            //catch (ErrorAlumnoBloqueado ex)
            //{
            //    lblError.Text =  ex.Message;
            //}
            //catch (ErrorUsuarioContraseñaIncorrecto ex)
            //{
            //    lblError.Text = ex.ToString();
            //}
            catch (Exception ex)
            {
                lblInfo.Text = ex.Message;
            }
        }
 private void btnBuscar_Click(object sender, EventArgs e)
 {
     try
     {
         lblInfo.Text = "";
         //VAMOS A BUSCAR LA INFORMACION DEL USUARIO INGRESADO
         //---------------------------------------------------
         //ILogicaUsuario lu = FabricaLogica.getLogicaUsuario();
         ServiceWebMail sm = new ServiceWebMail();
         int ci;
         if (Int32.TryParse(txtDocumento.Text, out ci))
         {
             //Alumno a = new Alumno {CI = ci};
             Alumno a = sm.getAlumnoByCi(ci);
             if (a != null)
             {
                 PanelUsuario.Visible = true;
                 lblUserName.Text = a.NOMBRE_USUARIO;
                 lblStatus.Text = a.ACTIVO.ToString().Trim() == "True" ? "Activo" : "No Activo";
                 lblDocumento.Text = Convert.ToString(a.CI);
                 lblNombreAlumno.Text = a.NOMBRE + " " + a.NOMBRE_USUARIO;
                 btnActivar.Visible = !a.ACTIVO;
             }
             else
             {
                 PanelUsuario.Visible = false;
                 MessageBox.Show("No se encontro el usuario.", "Usuario no encontrado", MessageBoxButtons.OK,
                                 MessageBoxIcon.Exclamation);
             }
         }
         else
         {
             lblInfo.Text = "El documento ingresado no es valido";
         }
     }
     catch (Exception ex)
     {
         lblInfo.Text = ex.Message;
     }
 }
        private void Busqueda()
        {
            try
            {
                lblInfo.Text = "";

                //LIMPIO LAS FILAS SI TENIA ALGUNA DE ANTES
                //-----------------------------------------
                UsersListRepeater.Rows.Clear();
                if (!string.IsNullOrEmpty(txtNumDias.Text))
                {
                    ServiceWebMail sm = new ServiceWebMail();
                    int numDias;
                    if (Int32.TryParse(txtNumDias.Text, out numDias))
                    {
                        Alumno[] alumnos = sm.ListarAlumnosSinMovimientos(numDias);
                        foreach (Alumno a in alumnos)
                        {
                            object[] row0 = {a.CI, "Desactivar", a.NOMBRE, a.APELLIDO,
                                                    Convert.ToString(a.ACTIVO).Trim() == "True" ? "Activo" : "No Activo"
                                                };
                            UsersListRepeater.Rows.Add(row0);
                        }
                    }
                    else
                    {
                        lblInfo.Text = "El numero de dias ingresado no es valido";
                    }
                }
                else
                    lblInfo.Text = "Debe ingresar un numero de dias para realizar la consulta";

            }
            catch (Exception ex)
            {
                lblInfo.Text = ex.ToString();
            }
        }
        private void gridDocentes_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                if (e.ColumnIndex == 0 && e.RowIndex >= 0)
                {
                    string username = Convert.ToString(gridDocentes.Rows[e.RowIndex].Cells[1].Value);
                    //if (Int32.TryParse(Convert.ToString(gridDocentes.Rows[e.RowIndex].Cells[1].Value), out ci))
                    if (!String.IsNullOrEmpty(username))
                    {
                        //LLAMAMOS A EDITAR DOCENTE
                        //------------------------
                        Registro formRegistro = new Registro();
                        //TRAEMOS LA INFORMACION DEL DOCENTE DEL WEB SERVICE
                        ServiceWebMail sm = new ServiceWebMail();
                        Docente d = new Docente();
                        d.NOMBRE_USUARIO = username;
                        d = sm.getDocente(d);

                        if (d != null)
                        {
                            formRegistro.DOCENTE = d;
                            formRegistro.Show();
                        }
                        else
                        {
                            lblInfo.Text = "No se encontro la informacion del docente";
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                lblInfo.Text = ex.Message;
            }
        }