public UUser agregarMateria(string materia, string sesion, int selIdioma)
        {
            UUser   user       = new UUser();
            DUser   datos      = new DUser();
            LReg    l_reg      = new LReg();
            UIdioma encId      = new UIdioma();
            LIdioma idioma     = new LIdioma();
            Int32   FORMULARIO = 10;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);

            user.Mensaje = " ";
            bool ok = validar_mat(materia);

            if (ok == false)
            {
                user.Materia = materia;
                user.Session = sesion;
                datos.insertarMateria(user);
                //this.Page.Response.Write("<script language='JavaScript'>window.alert('Materia Insertada con Exito');</script>");
                user.Mensaje = encId.CompIdioma["L_Error_falta_materia"].ToString(); //"Materia Insertada con Exito";
            }
            else
            {
                user.Mensaje = encId.CompIdioma["L_Error_materia_ya_esta"].ToString(); //"La Materia ya se encuentra en nuestra Base de Datos";
            }
            return(user);
        }
        public UUser verNota(string alumno, string materia, string curso, int selIdioma)
        {
            DUser   datos      = new DUser();
            UUser   enc        = new UUser();
            UIdioma encId      = new UIdioma();
            LIdioma idioma     = new LIdioma();
            Int32   FORMULARIO = 39;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);

            enc.Mensaje = " ";
            if (alumno == "0" || materia == "0" || curso == "0")
            {
                enc.Mensaje = encId.CompIdioma["L_Falta_Selec"].ToString(); //"Falta seleccionar";
            }
            else
            {
                enc.Id_estudiante = alumno;
                enc.Materia       = materia;
                enc.Curso         = curso;
                DataTable registros = datos.obtenerNota(enc);
                try
                {
                    enc.Nota1 = registros.Rows[0]["nota1"].ToString();
                    enc.Nota2 = registros.Rows[0]["nota2"].ToString();
                    enc.Nota3 = registros.Rows[0]["nota3"].ToString();

                    enc.Notadef = registros.Rows[0]["notadef"].ToString();
                }
                catch
                {
                }
            }
            return(enc);
        }
        public UUser buscarAcudiete(int departamento, int ciudad, String documento, int selIdioma)
        {
            UUser   usua       = new UUser();
            DUser   dat        = new DUser();
            UIdioma encId      = new UIdioma();
            LIdioma idioma     = new LIdioma();
            Int32   FORMULARIO = 8;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);

            usua.Documento = documento.ToString();

            DataTable registros = dat.obtenerAcudiente(usua);

            if (departamento == 0 || ciudad == 0)
            {
                usua.Mensaje = encId.CompIdioma["L_ErrorUsuario_Seleccione"].ToString(); //"Debe seleccionar una opcion";
            }

            if (registros.Rows.Count > 0)
            {
                usua.Nombre       = Convert.ToString(registros.Rows[0]["nombre_usua"].ToString());
                usua.Apellido     = Convert.ToString(registros.Rows[0]["apellido_usua"].ToString());
                usua.id_Acudiente = Convert.ToString(registros.Rows[0]["id_usua"].ToString());

                usua.L_Aceptar1   = true;
                usua.Notificacion = "<script language='JavaScript'>window.alert('" + encId.CompIdioma["script_acudiente_ok"].ToString() + "');</script>";// ("<script language='JavaScript'>window.alert('Acudiente Seleccionado');</script>");
            }
            else
            {
                usua.MensajeAcudiente = encId.CompIdioma["L_ErrorAcudiente"].ToString();// "El Acudiente No se encuentra en la base de Datos";
            }
            return(usua);
        }
        public UUser editarBuscarUser(int documento, int selIdioma)
        {
            UUser   usua       = new UUser();
            DUser   dat        = new DUser();
            UIdioma encId      = new UIdioma();
            LIdioma idioma     = new LIdioma();
            Int32   FORMULARIO = 16;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);

            usua.Documento = documento.ToString();

            DataTable registros = dat.obtenerUsuarioMod(usua);

            if (registros.Rows.Count > 0)
            {
                usua.Nombre           = Convert.ToString(registros.Rows[0]["nombre_usua"].ToString());
                usua.Apellido         = Convert.ToString(registros.Rows[0]["apellido_usua"].ToString());
                usua.Correo           = Convert.ToString(registros.Rows[0]["correo"].ToString());
                usua.Direccion        = Convert.ToString(registros.Rows[0]["direccion"].ToString());
                usua.Telefono         = Convert.ToString(registros.Rows[0]["telefono"].ToString());
                usua.UserName         = Convert.ToString(registros.Rows[0]["user_name"].ToString());
                usua.Clave            = Convert.ToString(registros.Rows[0]["clave"].ToString());
                usua.fecha_nacimiento = Convert.ToString(registros.Rows[0]["fecha_nac"].ToString());
                usua.Foto             = Convert.ToString(registros.Rows[0]["foto_usua"].ToString());

                usua.Departamento = Convert.ToString(registros.Rows[0]["dep_nacimiento"].ToString());

                //DDT_Ciudad.DataBind();

                usua.Ciudad = Convert.ToString(registros.Rows[0]["ciu_nacimiento"].ToString());

                string ddl = registros.Rows[0]["estado"].ToString();

                if (registros.Rows[0]["estado"].ToString() == "True")
                {
                    usua.Estado = encId.CompIdioma["DDL_Estado"].ToString();
                }
                else
                {
                    usua.Estado = encId.CompIdioma["DDL_Estado2"].ToString();
                }
                usua.L_Aceptar1 = false;
                usua.B_Botones1 = true;
            }
            else
            {
                usua.Mensaje = encId.CompIdioma["L_ErrorAdmin_sin_registro"].ToString(); //"Sin Registros";
            }

            return(usua);
        }
        public UUser verificarCorreoEstudoiante(
            string materia,
            string userId,
            string persona,
            string apePersona,
            string correo_l,
            string destinatario,
            string asunto,
            string mensaje,
            int selIdioma
            )
        {
            DUser dat  = new DUser();
            UUser usua = new UUser();

            usua.Correo = destinatario;
            DataTable resultado  = dat.verificarCorreo(usua);
            UIdioma   encId      = new UIdioma();
            LIdioma   idioma     = new LIdioma();
            Int32     FORMULARIO = 28;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);


            if (materia == "0")
            {
                usua.Mensaje = encId.CompIdioma["L_Verificar"].ToString(); //"Debe seleccionar una opcion";
            }
            else
            {
                if (resultado.Rows.Count > 0)
                {
                    mensaje = mensaje + "<br><br>Atentamente: " + persona + " " + apePersona + "<br>Correo para responder: " + correo_l + "";
                    string        cadena = mensaje;
                    DCorreoEnviar correo = new DCorreoEnviar();
                    correo.enviarCorreoEnviar(destinatario, asunto, mensaje);
                    //usua.Notificacion = "<script language='JavaScript'>window.alert('Se ha enviado su mensaje con éxito');</script>";
                    usua.Notificacion = "<script language='JavaScript'>window.alert('" + encId.CompIdioma["script_msm_enviado"].ToString() + "');</script>";
                    usua.Url          = "EstudianteProfesor.aspx";
                    usua.Mensaje      = "";
                }
                else
                {
                    usua.Mensaje = encId.CompIdioma["L_Error_correo"].ToString();

                    usua.CDestinatario = "";
                }
            }
            return(usua);
        }
        public UUser CargaFotoM(string fotoIO, string fotExten, string foto, string server, int selIdioma)
        {
            UUser   enc        = new UUser();
            DUser   datos      = new DUser();
            UIdioma encId      = new UIdioma();
            LIdioma idioma     = new LIdioma();
            Int32   FORMULARIO = 6;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);

            string sDia   = Convert.ToString(DateTime.Now.Day);
            string sMes   = Convert.ToString(DateTime.Now.Month);
            string sAgno  = Convert.ToString(DateTime.Now.Year);
            string sHora  = Convert.ToString(DateTime.Now.Hour);
            string sMinu  = Convert.ToString(DateTime.Now.Minute);
            string sSeco  = Convert.ToString(DateTime.Now.Second);
            string sFecha = sDia + sMes + sAgno + sHora + sMinu + sSeco;

            String nombreArchivo = fotoIO;
            String extension     = fotExten;
            String saveLocation  = "";
            string ext           = extension;

            if (!(string.Compare(extension, ".png", true) == 0 || string.Compare(extension, ".jpeg", true) == 0 || string.Compare(extension, ".jpg", true) == 0))
            {
                enc.Notificacion = "<script language='JavaScript'>window.alert('" + encId.CompIdioma["script_error_formato"].ToString() + "');</script>";
                //enc.Notificacion = "<script type='text/javascript'>alert('Solo se admiten imagenes en formato Jpeg o Gif');</script>";
                return(enc);
            }

            saveLocation = server + "/" + sFecha + sMinu + nombreArchivo;

            if (System.IO.File.Exists(saveLocation))
            {
                enc.Notificacion = "<script language='JavaScript'>window.alert('" + encId.CompIdioma["script_error_foto_repite"].ToString() + "');</script>";
                //enc.Notificacion = "<script type='text/javascript'>alert('Ya existe una imagen en el servidor con ese nombre');</script>";
                return(enc);
            }
            string h = encId.CompIdioma["script_foto_cargada"].ToString();

            enc.Notificacion = "<script language='JavaScript'>window.alert('" + encId.CompIdioma["script_foto_cargada"].ToString() + "');</script>";
            //enc.Notificacion = "<script type='text/javascript'>alert('El archivo de imagen ha sido cargado');</script>";
            enc.SaveLocation = saveLocation;
            enc.FotoCargada  = "~/FotosUser" + "/" + sFecha + sMinu + nombreArchivo;
            return(enc);
        }
        ////////////////////////FIN CONFIGURACION PAGINA//////////////////

        public UUser recuperarContra(string userName, int selIdioma)
        {
            UUser   usua       = new UUser();
            DUser   dat        = new DUser();
            UIdioma encId      = new UIdioma();
            LIdioma idioma     = new LIdioma();
            Int32   FORMULARIO = 41;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);

            System.Data.DataTable validez = dat.generarToken(userName);
            if (int.Parse(validez.Rows[0]["id_usua"].ToString()) > 0)
            {
                UToken token = new UToken();
                //EUserToken token = new EUserToken();
                token.Id        = int.Parse(validez.Rows[0]["id_usua"].ToString());
                token.Nombre    = validez.Rows[0]["nombre_usua"].ToString();
                token.User_name = validez.Rows[0]["user_name"].ToString();
                token.Estado    = int.Parse(validez.Rows[0]["state_t"].ToString());

                token.Correo = validez.Rows[0]["correo"].ToString();
                token.Fecha  = DateTime.Now.ToFileTimeUtc();


                String userToken = encriptar(JsonConvert.SerializeObject(token));
                dat.almacenarToken(userToken, token.Id);

                DCorreo correo = new DCorreo();

                String mensaje = "Su link de acceso es: " + "http://localhost:58629/View/Contrasenia.aspx?" + userToken;
                correo.enviarCorreo(token.Correo, userToken, mensaje);

                usua.Mensaje = encId.CompIdioma["L_Verificar_ver_correo"].ToString(); //"Revisar su correo para recuperar contraseña";
            }
            else if (int.Parse(validez.Rows[0]["id_usua"].ToString()) == -2)
            {
                usua.Mensaje = encId.CompIdioma["L_Verificar_ver_link"].ToString(); //"Ya extsite un link de recuperación, por favor verifique su correo.";
            }
            else
            {
                usua.Mensaje = encId.CompIdioma["L_Verificar_no_existe"].ToString(); //"El usuario digitado no existe";
            }

            return(usua);
        }
        public UReg ddl_horario(int post, int selIdioma)
        {
            DataTable dias       = new DataTable();
            UIdioma   encId      = new UIdioma();
            LIdioma   idioma     = new LIdioma();
            Int32     FORMULARIO = 10;
            UReg      regDias    = new UReg();

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);

            regDias.Lunes     = encId.CompIdioma["ho_lunes"].ToString();
            regDias.Martes    = (encId.CompIdioma["ho_martes"].ToString());
            regDias.Miercoles = (encId.CompIdioma["ho_miercoles"].ToString());
            regDias.Jueves    = (encId.CompIdioma["ho_jueves"].ToString());
            regDias.Viernes   = (encId.CompIdioma["ho_viernes"].ToString());

            return(regDias);
        }
        public UUser cambiarContra(int QueryString, string Query, string session, int selIdioma)
        {
            UUser   usua       = new UUser();
            DUser   dat        = new DUser();
            UIdioma encId      = new UIdioma();
            LIdioma idioma     = new LIdioma();
            Int32   FORMULARIO = 42;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);

            if (QueryString > 0)
            {
                DataTable info = dat.obtenerUsusarioToken(Query);

                if (int.Parse(info.Rows[0][0].ToString()) == -1)
                {
                    //this.RegisterStartupScript("mensaje", "<script type='text/javascript'>alert('El Token es invalido. Genere uno nuevo');window.location=\"Loggin.aspx\"</script>");

                    //usua.Notificacion = "<script language='JavaScript'>window.alert('El Token es invalido. Genere uno nuevo');</script>";
                    usua.Notificacion = "<script language='JavaScript'>window.alert('" + encId.CompIdioma["script_invalido"].ToString() + "');</script>";
                    usua.Url          = "~/View/Loggin.aspx";
                }
                else if (int.Parse(info.Rows[0][0].ToString()) == -1)
                {
                    //this.RegisterStartupScript("mensaje", "<script type='text/javascript'>alert('El Token esta vencido. Genere uno nuevo');window.location=\"Loggin.aspx\"</script>");

                    //usua.Notificacion = "<script language='JavaScript'>window.alert('El Token esta vencido. Genere uno nuevo');</script>";
                    usua.Notificacion = "<script language='JavaScript'>window.alert('" + encId.CompIdioma["script_vencido"].ToString() + "');</script>";
                    usua.Url          = "~/View/Loggin.aspx";
                }
                else
                {
                    usua.UserId = int.Parse((info.Rows[0][0].ToString()));
                }
            }
            else
            {
                //Response.Redirect("~/View/Loggin.aspx");
                usua.Url = "~/View/Loggin.aspx";
            }

            return(usua);
        }
        public UUser verificarCorreoContactenos(
            string nombres,
            string apellidos,
            string correo_l,
            string telefono,
            string mensaje,
            int selIdioma
            )
        {
            DUser   dat        = new DUser();
            UUser   usua       = new UUser();
            UIdioma encId      = new UIdioma();
            LIdioma idioma     = new LIdioma();
            Int32   FORMULARIO = 30;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);

            string destinatario = "*****@*****.**";
            string asunto       = "**¡¡CONTACTENOS!!**";


            usua.Correo = destinatario;
            DataTable resultado = dat.verificarCorreo(usua);

            if (resultado.Rows.Count > 0)
            {
                mensaje = mensaje + "<br><br>Atentamente: " + nombres + "<br>" + apellidos + "<br>Correo para responder: " + correo_l + "<br>Telefono: " + telefono + "";
                string        cadena = mensaje;
                DCorreoEnviar correo = new DCorreoEnviar();
                correo.enviarCorreoEnviar(destinatario, asunto, mensaje);
                //usua.Notificacion = "<script language='JavaScript'>window.alert('Se ha enviado su mensaje con éxito');</script>";
                usua.Notificacion = "<script language='JavaScript'>window.alert('" + encId.CompIdioma["script_men_enviado"].ToString() + "');</script>";
                usua.Url          = "InicioNosotros.aspx";
            }
            else
            {
                //usua.Notificacion = "<script language='JavaScript'>window.alert('Ha ocurrido un problema.');</script>";
                usua.Notificacion = "<script language='JavaScript'>window.alert('" + encId.CompIdioma["script_problema"].ToString() + "');</script>";
            }
            return(usua);
        }
        public UUser validarUser(string usuario, string documento, int selIdioma)
        {
            UUser   usua       = new UUser();
            DUser   dat        = new DUser();
            UIdioma encId      = new UIdioma();
            LIdioma idioma     = new LIdioma();
            Int32   FORMULARIO = 6;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);

            usua.UserName  = usuario;
            usua.Documento = documento.ToString();

            DataTable registros = dat.validar_usuarioadmin(usua);

            if (registros.Rows.Count > 0)
            {
                //tb_Vusuario.Text = Convert.ToString(registros.Rows[0]["user_name"].ToString());
                //tb_Vdocumento.Text = Convert.ToString(registros.Rows[0]["num_documento"].ToString());
                //usua.Mensaje = "El Usuario ya existe";
                usua.Mensaje    = encId.CompIdioma["L_ErrorUsuario_usuario_noexiste"].ToString();
                usua.L_Aceptar1 = false;
                usua.B_Botones1 = true;
            }
            else
            {
                //L_ErrorUsuario.Text = "";

                //usua.Mensaje = "Usuario Disponible";
                usua.Mensaje = encId.CompIdioma["L_ErrorUsuario_usuario_existe"].ToString();
                //btn_DocenteAceptar.Visible = true;
                //btn_DocenteNuevo.Visible = true;
                //btn_validar.Visible = false;
                //tb_DocenteUsuario.ReadOnly = true;
                //tb_DocenteId.ReadOnly = true;
                usua.L_Aceptar1 = true;
                usua.B_Botones1 = false;
            }

            return(usua);
        }
        public UUser insertarfechafin(string fechater, int selIdioma)
        {
            UUser usua = new UUser();
            DUser dat  = new DUser();

            UIdioma encId      = new UIdioma();
            LIdioma idioma     = new LIdioma();
            Int32   FORMULARIO = 19;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);

            usua.Año = fechater;
            dat.editaFinaño(usua);
            bool ok = true;

            dat.editaBool(ok);
            usua.Notificacion = "<script language='JavaScript'>window.alert('" + encId.CompIdioma["script_datos_insertado"].ToString() + "');</script>";
            //usua.Notificacion = "<script language='JavaScript'>window.alert('Insertado con Exito');</script>";

            return(usua);
        }
        public UUser subirNota(string alumno, string materia, string curso, string nota1, string nota2, string nota3, int selIdioma)
        {
            DUser   datos      = new DUser();
            UUser   enc        = new UUser();
            UIdioma encId      = new UIdioma();
            LIdioma idioma     = new LIdioma();
            Int32   FORMULARIO = 39;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);

            enc.Mensaje = " ";

            if (alumno == "0" || materia == "0" || curso == "0")
            {
                enc.Mensaje = encId.CompIdioma["L_Falta_Selec"].ToString(); //"Falta seleccionar";
            }
            else
            {
                enc.Id_estudiante = alumno;
                enc.Materia       = materia;
                enc.Curso         = curso;
                DataTable registros = datos.obtenerNota(enc);

                enc.IdNota = registros.Rows[0]["id_nota"].ToString();
                Double n1 = Convert.ToDouble(nota1);
                Double n2 = Convert.ToDouble(nota2);
                Double n3 = Convert.ToDouble(nota3);

                Double nd = (n1 + n2 + n3) / 3.0;

                enc.Nota1 = n1.ToString();
                enc.Nota2 = n2.ToString();
                enc.Nota3 = n3.ToString();

                enc.Notadef = nd.ToString();
                datos.insertarNota(enc);
            }
            return(enc);
        }
        public UUser enviarMensajeProf(string materia, string alumno, string curso, string userId, string persona, string apePersona, string correo_l, string asunto, string mensaje, string tb_destinatario, string destinatario, int selIdioma)
        {
            UUser encapsular = new UUser();
            DUser datos      = new DUser();

            UIdioma encId      = new UIdioma();
            LIdioma idioma     = new LIdioma();
            Int32   FORMULARIO = 37;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);

            if (materia == "0" || alumno == "0" || curso == "0")
            {
                encapsular.Mensaje = encId.CompIdioma["L_Verificar"].ToString(); //"Debe seleccionar una opcion";
            }
            else
            {
                //CORREO*******************************
                encapsular.Correo = tb_destinatario;
                DataTable resultado = datos.verificarCorreo(encapsular);

                if (resultado.Rows.Count > 0)
                {
                    mensaje = mensaje + "<br><br>Atentamente: " + persona + " " + apePersona + "<br>Correo para responder: " + correo_l + "";
                    string        cadena = mensaje;
                    DCorreoEnviar correo = new DCorreoEnviar();
                    correo.enviarCorreoEnviar(destinatario, asunto, mensaje);
                    encapsular.MensajeAcudiente = "mensaje";
                    //encapsular.Notificacion = /* "mensaje",*/ "<script type='text/javascript'>alert('Su Mensaje ha sido Enviado.');window.location=\"ProfesorMensaje.aspx\"</script>";
                    encapsular.Notificacion = "<script language='JavaScript'>window.alert('" + encId.CompIdioma["script_men_enviado"].ToString() + "');</script>";
                }
                else
                {
                    encapsular.Mensaje       = encId.CompIdioma["L_Error_CorreoNo"].ToString();// "El correo digitado no existe";
                    encapsular.CDestinatario = "";
                }
            }
            return(encapsular);
        }
        public UUser selecEstudianteACurso(string curso, string seleccion, int selIdioma)
        {
            DUser datos = new DUser();
            UUser enc   = new UUser();

            UIdioma encId      = new UIdioma();
            LIdioma idioma     = new LIdioma();
            Int32   FORMULARIO = 9;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);

            if (curso == "0")
            {
                enc.Mensaje = encId.CompIdioma["L_ErrorUsuario_estudiante_curso"].ToString(); //"Debe Elegir un Curso";
            }
            else
            {
                enc.Documento = seleccion;
                DataTable reg = datos.obtenerUsuarioMod(enc);

                enc.Id_estudiante = reg.Rows[0]["id_usua"].ToString();
                enc.Curso         = curso;
                datos.insertarEstudianteCurso(enc);

                DataTable materias = datos.obtener_MatCur(enc);
                int       n        = materias.DefaultView.Count;

                for (int i = 0; i < n; i++)
                {
                    enc.Materia = materias.Rows[i]["id_materia"].ToString();
                    datos.insertarNotaMateria(enc);
                }

                enc.Mensaje = "";
            }

            return(enc);
        }
        ///////////////////////CONFIGURACION DE PAGINA//////////////////////

        public UUser ModificarPaginaInicio(string nosotros, string mision, string vision, string session, int selIdioma)
        {
            UUser   usua       = new UUser();
            DUser   dat        = new DUser();
            UIdioma encId      = new UIdioma();
            LIdioma idioma     = new LIdioma();
            Int32   FORMULARIO = 19;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);

            usua.Inicio = nosotros;
            usua.Mision = mision;
            usua.Vision = vision;

            usua.Session = session;


            DataTable registros = dat.editarInicio(usua);

            usua.Notificacion = "<script language='JavaScript'>window.alert('" + encId.CompIdioma["script_datos_modificados"].ToString() + "');</script>";
            //usua.Notificacion = "<script language='JavaScript'>window.alert('Datos Modificados');</script>";
            return(usua);
        }
        public UUser pasarAñoClick(int selIdioma)
        {
            DUser datos = new DUser();
            UUser enc   = new UUser();

            datos.insertar_Año();

            UIdioma encId      = new UIdioma();
            LIdioma idioma     = new LIdioma();
            Int32   FORMULARIO = 32;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);

            DataTable reg = datos.obtienePromedio();
            int       n   = reg.DefaultView.Count;

            for (int i = 0; i < n; i++)
            {
                int    a = Convert.ToInt32(reg.Rows[i]["nombre_curso"]);
                double b = Convert.ToDouble(reg.Rows[i]["notadef"]);
                if ((Convert.ToInt32(reg.Rows[i]["nombre_curso"]) > 1100) & (Convert.ToDouble(reg.Rows[i]["notadef"]) >= 30.0))
                {
                    enc.Id_estudiante = reg.Rows[i]["id_usua"].ToString();
                    //update
                    datos.editarOnce(enc);
                }
            }
            DataTable ultaño = datos.obtenerUltimoAño();

            enc.Año = ultaño.Rows[0]["id_anio"].ToString();

            DataTable registro = datos.obtienePromedio();

            n = registro.DefaultView.Count;

            for (int i = 0; i < n; i++)
            {
                if (Convert.ToDouble(registro.Rows[i]["notadef"]) >= 30.0)
                {
                    int curso = Convert.ToInt32(registro.Rows[i]["nombre_curso"]);
                    enc.Id_estudiante = registro.Rows[i]["id_usua"].ToString();
                    curso             = curso + 100;
                    if (curso >= 1 & curso <= 9)
                    {
                        enc.Curso = "00" + (curso.ToString());
                    }
                    else
                    {
                        enc.Curso = curso.ToString();
                    }
                    DataTable idcurso = datos.obteneridCurso(enc);
                    enc.Curso = idcurso.Rows[0]["id_ancu"].ToString();
                    datos.insertarEstudianteCurso(enc);
                }
                else
                {
                    int curso = Convert.ToInt32(registro.Rows[i]["nombre_curso"]);
                    enc.Id_estudiante = registro.Rows[i]["id_usua"].ToString();
                    if (curso >= 1 & curso <= 9)
                    {
                        enc.Curso = "00" + (curso.ToString());
                    }
                    else
                    {
                        enc.Curso = curso.ToString();
                    }
                    DataTable idcurso = datos.obteneridCurso(enc);
                    enc.Curso = idcurso.Rows[0]["id_ancu"].ToString();
                    datos.insertarEstudianteCurso(enc);
                }
            }
            //enc.Notificacion = "<script language='JavaScript'>window.alert('Se ha migraido de año con Exito');</script>";
            enc.Notificacion = "<script language='JavaScript'>window.alert('" + encId.CompIdioma["script_migrado"].ToString() + "');</script>";

            return(enc);
        }
        public UUser loggear(string userName, string clave, int selIdioma, Boolean bot)
        {
            UUser user  = new UUser();
            DUser datos = new DUser();

            UIdioma encId      = new UIdioma();
            LIdioma idioma     = new LIdioma();
            Int32   FORMULARIO = 40;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);

            user.UserName = userName;
            user.Clave    = clave;

            user.Mensaje = "";

            DataTable resultado = datos.loggin(user);

            if (bot == true)
            {
                DataTable fechasesion = datos.Capturafechaintentosesion(userName);

                if (int.Parse(fechasesion.Rows[0][0].ToString()) == 0)
                {
                    if (resultado.Rows.Count > 0)
                    {
                        user.SUserId    = resultado.Rows[0]["id_usua"].ToString();
                        user.SUserName  = resultado.Rows[0]["user_name"].ToString();
                        user.SNombre    = resultado.Rows[0]["nombre_usua"].ToString();
                        user.SApellido  = resultado.Rows[0]["apellido_usua"].ToString();
                        user.SClave     = resultado.Rows[0]["clave"].ToString();
                        user.SCorreo    = resultado.Rows[0]["correo"].ToString();
                        user.SDocumento = resultado.Rows[0]["num_documento"].ToString();
                        user.SFoto      = resultado.Rows[0]["foto_usua"].ToString();

                        if ((resultado.Rows[0]["estado"].ToString()) == "True")
                        {
                            DataTable valida    = datos.evaluaSesiones(userName);
                            int       idUsuario = int.Parse(valida.Rows[0][0].ToString());
                            if (idUsuario == 1)
                            {
                                user.Mensaje = " ";
                                switch (int.Parse(resultado.Rows[0]["rol_id"].ToString()))
                                {
                                case 1:
                                    //Response.Redirect("Admin/AgregarAdministrador.aspx");
                                    user.Url = "~/View/Admin/AgregarAdministrador.aspx";
                                    break;

                                case 2:
                                    //Response.Redirect("Profesor/ProfesorSubirNota.aspx");
                                    user.Url = "~/View/Profesor/ProfesorSubirNota.aspx";
                                    break;

                                case 3:
                                    //Response.Redirect("Estudiante/EstudianteHorario.aspx");
                                    user.Url = "~/View/Estudiante/EstudianteHorario.aspx";
                                    break;

                                case 4:
                                    //Response.Redirect("Acudiente/AcudienteBoletin.aspx");
                                    user.Url = "~/View/Acudiente/AcudienteObservador.aspx";
                                    break;

                                default:
                                    //Response.Redirect("Loggin.aspx");
                                    user.Url = "~/View/Loggin.aspx";
                                    break;
                                }
                            }
                            else
                            {
                                user.MensajeIntentoErroneos = "<script language='JavaScript'>window.alert('Ha exedido el numero de Sesiones Permitidas');</script>";
                            }
                            datos.LimpiaIntentosErroneos(userName);
                        }
                        else
                        {
                            System.Data.DataTable validez = datos.generarToken(userName);
                            if (int.Parse(validez.Rows[0]["id_usua"].ToString()) > 0)
                            {
                                //suma contador id_usua

                                user.Mensaje = encId.CompIdioma["L_Error_Inactivo"].ToString();
                                //user.Mensaje = "Usuario Se Encuentra Inactivo";
                                //Session["userId"] = null;
                                user.SUserId = null;
                                //user.Url = "~/View/Loggin.aspx";
                            }
                            else
                            {
                                user.Mensaje = encId.CompIdioma["L_Error_Inactivo"].ToString();
                                //user.Mensaje = "Usuario Se Encuentra Inactivo";
                                //Session["userId"] = null;
                                user.SUserId = null;
                                //user.Url = "~/View/Loggin.aspx";
                            }
                        }
                    }
                    else
                    {
                        user.Mensaje = encId.CompIdioma["L_Error_Incorrecto"].ToString();

                        //user.Mensaje = "Usuario Y/o Clave Incorrecto";
                        //Session["userId"] = null;
                        user.SUserId = null;
                        //user.Url = "~/View/Loggin.aspx";

                        DataTable erroneos = datos.sumaIntentosErroneos(userName);
                        datos.actualizaFechaSesionErronea(userName);
                        int IntentosErroneos = int.Parse(erroneos.Rows[0][0].ToString());
                        if (IntentosErroneos == 0)
                        {
                            //user.Notificacion = "Ha exedido el numero de intentos erroneos";
                            user.MensajeIntentoErroneos = "<script language='JavaScript'>window.alert('Ha exedido el numero de intentos erroneos');</script>";
                        }
                    }
                }
                else
                {
                    user.MensajeIntentoErroneos = "<script language='JavaScript'>window.alert('No ha cumplido los 30 minutos de suspencion');</script>";
                }
            }
            else
            {
                user.Mensaje = encId.CompIdioma["L_Error_Bot"].ToString();
            }


            return(user);
        }
        public UUser agregarEstudiante(
            int departamento,
            int ciudad,
            string nombre,
            string apellido,
            string direccion,
            string telefono,
            string clave,
            string correo,
            string foto,
            int documento,
            string usuario,
            int rol,
            string fechanac,
            string session,
            int id_acu,
            int selIdioma
            )
        {
            UUser   usua       = new UUser();
            DUser   dat        = new DUser();
            UIdioma encId      = new UIdioma();
            LIdioma idioma     = new LIdioma();
            Int32   FORMULARIO = 8;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);

            int dep;

            dep = (departamento);

            int ciu;

            ciu          = (ciudad);
            usua.Mensaje = "";
            if (departamento == 0 || ciudad == 0)
            {
                usua.Mensaje = encId.CompIdioma["L_ErrorUsuario_Seleccione"].ToString();// "Debe seleccionar una opcion";
            }
            else
            {
                usua.Nombre           = nombre;
                usua.Rol              = Convert.ToString(rol);
                usua.UserName         = usuario;
                usua.Clave            = clave;
                usua.Correo           = correo;
                usua.Apellido         = apellido;
                usua.Direccion        = direccion;
                usua.Telefono         = telefono;
                usua.Documento        = documento.ToString();
                usua.fecha_nacimiento = fechanac;
                usua.Departamento     = Convert.ToString(dep);
                usua.Ciudad           = Convert.ToString(ciu);
                usua.Session          = session;
                usua.Foto             = foto;
                usua.id_Acudiente     = Convert.ToString(id_acu);

                if (usua.Foto != null)
                {
                    dat.insertarEstudiante(usua);
                    dat.InsertaTablaSesion(usuario);
                    usua.Notificacion = "<script language='JavaScript'>window.alert('" + encId.CompIdioma["script_insertado"].ToString() + "');</script>"; // ("<script language='JavaScript'>window.alert('Estudiante Insertado con Exito');</script>");

                    usua.L_Aceptar1 = false;
                    usua.B_Botones1 = true;
                }
            }
            return(usua);
        }
        public UUser editarAdmin(
            string nombre,
            string userName,
            string clave,
            string correo,
            string apellido,
            string direccion,
            string telefono,
            int documento,
            string estado,
            string fechanac,
            int departamento,
            int ciudad,
            string session,
            string fotoup,
            string foto,
            int selIdioma,
            int rol
            )
        {
            UUser   usua       = new UUser();
            DUser   dat        = new DUser();
            UIdioma encId      = new UIdioma();
            LIdioma idioma     = new LIdioma();
            Int32   FORMULARIO = 16;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);

            if (departamento == 0 || ciudad == 0)
            {
                usua.Mensaje = encId.CompIdioma["L_ErrorAdmin_sin_selecionar"].ToString();
                //"Debe seleccionar una opcion";
            }
            else
            {
                String est;

                if (estado == "Activo" || estado == encId.CompIdioma["DDL_Estado"].ToString())
                {
                    est = "true";
                }
                else
                {
                    est = "false";
                }


                if (fotoup == null)
                {
                    usua.Nombre           = nombre;
                    usua.Rol              = rol.ToString();
                    usua.UserName         = userName;
                    usua.Clave            = clave;
                    usua.Correo           = correo;
                    usua.Apellido         = apellido;
                    usua.Direccion        = direccion;
                    usua.Telefono         = telefono;
                    usua.Documento        = documento.ToString();
                    usua.Estado           = est;
                    usua.fecha_nacimiento = fechanac;
                    usua.Departamento     = departamento.ToString();
                    usua.Ciudad           = ciudad.ToString();
                    usua.Session          = session;
                    usua.Foto             = foto;

                    if (usua.Foto != null)
                    {
                        DataTable registros = dat.EditarUsuario(usua);
                        usua.Notificacion = "<script language='JavaScript'>window.alert('" + encId.CompIdioma["script_foto"].ToString() + "');</script>";
                        //usua.Notificacion = "<script language='JavaScript'>window.alert('Usuario Editado con Éxito');</script>";
                        usua.B_Botones1 = false;
                        //btn_AdministradorAceptar.Visible = false;
                    }
                }
                else
                {
                    usua.Nombre           = nombre;
                    usua.Rol              = rol.ToString();
                    usua.UserName         = userName;
                    usua.Clave            = clave;
                    usua.Correo           = correo;
                    usua.Apellido         = apellido;
                    usua.Direccion        = direccion;
                    usua.Telefono         = telefono;
                    usua.Documento        = documento.ToString();
                    usua.Estado           = est;
                    usua.fecha_nacimiento = fechanac;
                    usua.Departamento     = departamento.ToString();
                    usua.Ciudad           = ciudad.ToString();
                    usua.Session          = session;
                    usua.Foto             = fotoup;

                    if (usua.Foto != null)
                    {
                        DataTable registros = dat.EditarUsuario(usua);
                        //usua.Notificacion = " <script language='JavaScript'>window.alert('Usuario Editado con Éxito');</script>";
                        usua.Notificacion = "<script language='JavaScript'>window.alert('" + encId.CompIdioma["script_foto_null"].ToString() + "');</script>";
                        usua.B_Botones1   = false;
                        //btn_AdministradorAceptar.Visible = false;
                    }
                }
            }
            usua.BotonFalse = false;
            usua.BotonTrue  = true;

            return(usua);
        }
        public DataTable horario(int curso, int hor_tipo, int selIdioma)
        {
            DUser   datos      = new DUser();
            UIdioma encId      = new UIdioma();
            LIdioma idioma     = new LIdioma();
            Int32   FORMULARIO = 10;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);

            string l8 = " ", m8 = " ", w8 = " ", j8 = " ", v8 = " ", l10 = " ", m10 = " ", w10 = " ", j10 = " ", v10 = " ", l12 = " ", m12 = " ", w12 = " ", j12 = " ", v12 = " ";

            int id_curso;

            id_curso = curso;
            DataTable registro;

            switch (hor_tipo)
            {
            case 1:
                //Horario Curso
                registro = datos.horarioCurso(id_curso);

                break;

            case 2:
                //Horario Profesor
                registro = datos.horarioProf(id_curso.ToString());
                break;

            case 3:
                //Horario Estudiante
                registro = datos.horario(id_curso.ToString());
                break;

            default:
                registro = datos.horarioCurso(id_curso);
                break;
            }

            int     n   = registro.DefaultView.Count;
            DataSet reg = new DataSet();

            DataTable Dt = new DataTable();

            Dt.Columns.Add("      ", typeof(string));
            Dt.Columns.Add(encId.CompIdioma["ho_lunes"].ToString(), typeof(string));
            Dt.Columns.Add(encId.CompIdioma["ho_martes"].ToString(), typeof(string));
            Dt.Columns.Add(encId.CompIdioma["ho_miercoles"].ToString(), typeof(string));
            Dt.Columns.Add(encId.CompIdioma["ho_jueves"].ToString(), typeof(string));
            Dt.Columns.Add(encId.CompIdioma["ho_viernes"].ToString(), typeof(string));
            string libre = encId.CompIdioma["ho_libre"].ToString();

            for (int i = 0; i < n; i++)
            {
                //8:00:00
                if (registro.Rows[i]["hora_inicio"].ToString() == "8:00:00" && registro.Rows[i]["dia"].ToString() == "Lunes"
                    )
                {
                    l8 = registro.Rows[i]["nombre_materia"].ToString();
                }

                if (registro.Rows[i]["hora_inicio"].ToString() == "8:00:00" && registro.Rows[i]["dia"].ToString() == "Martes")
                {
                    m8 = registro.Rows[i]["nombre_materia"].ToString();
                }

                if (registro.Rows[i]["hora_inicio"].ToString() == "8:00:00" && registro.Rows[i]["dia"].ToString() == "Miercoles")
                {
                    w8 = registro.Rows[i]["nombre_materia"].ToString();
                }

                if (registro.Rows[i]["hora_inicio"].ToString() == "8:00:00" && registro.Rows[i]["dia"].ToString() == "Jueves")
                {
                    j8 = registro.Rows[i]["nombre_materia"].ToString();
                }

                if (registro.Rows[i]["hora_inicio"].ToString() == "8:00:00" && registro.Rows[i]["dia"].ToString() == "Viernes")
                {
                    v8 = registro.Rows[i]["nombre_materia"].ToString();
                }

                //10:00:00
                if (registro.Rows[i]["hora_inicio"].ToString() == "10:00:00" && registro.Rows[i]["dia"].ToString() == "Lunes"
                    )
                {
                    l10 = registro.Rows[i]["nombre_materia"].ToString();
                }

                if (registro.Rows[i]["hora_inicio"].ToString() == "10:00:00" && registro.Rows[i]["dia"].ToString() == "Martes")
                {
                    m10 = registro.Rows[i]["nombre_materia"].ToString();
                }

                if (registro.Rows[i]["hora_inicio"].ToString() == "10:00:00" && registro.Rows[i]["dia"].ToString() == "Miercoles")
                {
                    w10 = registro.Rows[i]["nombre_materia"].ToString();
                }

                if (registro.Rows[i]["hora_inicio"].ToString() == "10:00:00" && registro.Rows[i]["dia"].ToString() == "Jueves")
                {
                    j10 = registro.Rows[i]["nombre_materia"].ToString();
                }

                if (registro.Rows[i]["hora_inicio"].ToString() == "10:00:00" && registro.Rows[i]["dia"].ToString() == "Viernes")
                {
                    v10 = registro.Rows[i]["nombre_materia"].ToString();
                }

                //12:00:00
                if (registro.Rows[i]["hora_inicio"].ToString() == "12:00:00" && registro.Rows[i]["dia"].ToString() == "Lunes"
                    )
                {
                    l12 = registro.Rows[i]["nombre_materia"].ToString();
                }

                if (registro.Rows[i]["hora_inicio"].ToString() == "12:00:00" && registro.Rows[i]["dia"].ToString() == "Martes")
                {
                    m12 = registro.Rows[i]["nombre_materia"].ToString();
                }

                if (registro.Rows[i]["hora_inicio"].ToString() == "12:00:00" && registro.Rows[i]["dia"].ToString() == "Miercoles")
                {
                    w12 = registro.Rows[i]["nombre_materia"].ToString();
                }

                if (registro.Rows[i]["hora_inicio"].ToString() == "12:00:00" && registro.Rows[i]["dia"].ToString() == "Jueves")
                {
                    j12 = registro.Rows[i]["nombre_materia"].ToString();
                }

                if (registro.Rows[i]["hora_inicio"].ToString() == "12:00:00" && registro.Rows[i]["dia"].ToString() == "Viernes")
                {
                    v12 = registro.Rows[i]["nombre_materia"].ToString();
                }
            }
            Dt.Rows.Add(" 8:00:00-9:29:00 ", l8, m8, w8, j8, v8);
            Dt.Rows.Add(" 09:30:00-9:59:00 ",
                        encId.CompIdioma["ho_libre"].ToString().Substring(0, 1),
                        encId.CompIdioma["ho_libre"].ToString().Substring(1, 1),
                        encId.CompIdioma["ho_libre"].ToString().Substring(2, 1),
                        encId.CompIdioma["ho_libre"].ToString().Substring(3, 1),
                        encId.CompIdioma["ho_libre"].ToString().Substring(4, 1));
            Dt.Rows.Add(" 10:00:00-11:59:00", l10, m10, w10, j10, v10);
            Dt.Rows.Add(" 12:00:00-2:00:00", l12, m12, w12, j12, v12);

            return(Dt);
        }
        public UUser agregaraHorario(string curso, string anio, string dia, string docente, string hora, string materia, int selIdioma)
        {
            UUser   enc        = new UUser();
            DUser   datos      = new DUser();
            UIdioma encId      = new UIdioma();
            LIdioma idioma     = new LIdioma();
            Int32   FORMULARIO = 10;

            encId = idioma.obtIdioma(FORMULARIO, selIdioma);


            enc.Mensaje = " ";
            if (curso == "0" || anio == "0" || dia == "0" || docente == "0" || hora == "0" || materia == "0")
            {
                enc.Mensaje = encId.CompIdioma["L_Error_falta"].ToString(); //"Falta seleccionar";
            }
            else
            {
                bool ok = validar_horario(curso, dia, hora);

                if (ok == true)
                {
                    bool wp = validar_profesor(docente, dia, hora);
                    if (wp == true)
                    {
                        if (dia == "Monday")
                        {
                            dia = "Lunes";
                        }
                        if (dia == "Tuesday")
                        {
                            dia = "Martes";
                        }
                        if (dia == "Wednesday")
                        {
                            dia = "Miercoles";
                        }
                        if (dia == "Thursday")
                        {
                            dia = "Jueves";
                        }
                        if (dia == "Friday")
                        {
                            dia = "Viernes";
                        }
                        enc.Materia     = materia;
                        enc.Dia_materia = dia;
                        enc.Hora_in     = hora;

                        DataTable registros = datos.obtenerHora(enc);
                        if (registros.Rows.Count > 0)
                        {
                            enc.Cur_mat    = registros.Rows[0]["id_mf"].ToString();
                            enc.Curso      = curso;
                            enc.Id_docente = docente;

                            datos.insertarCursoMateria(enc);
                        }
                        int       cur = Convert.ToInt32(curso);
                        DataTable est = datos.gEstudiante(cur);
                        int       n   = est.DefaultView.Count;

                        for (int i = 0; i < n; i++)
                        {
                            enc.Id_estudiante = est.Rows[i]["id_usua"].ToString();
                            enc.Materia       = materia;
                            datos.insertarNotaMateria(enc);
                        }
                        enc.Mensaje = encId.CompIdioma["L_Error_materia_insertada"].ToString(); //"Materia Insertada a Curso con Exito";
                        //this.Page.Response.Write("<script language='JavaScript'>window.alert('Materia Insertada a Curso con Exito');</script>");
                    }
                    else
                    {
                        enc.Mensaje = encId.CompIdioma["L_Error_docente_cruce"].ToString(); //"El docente presenta un cruce de Horarios";
                    }
                }
                else
                {
                    enc.Mensaje = encId.CompIdioma["L_Error_curce"].ToString(); //"Presenta un cruce de Horarios";
                }
            }
            return(enc);
        }