protected void GV_validar_archivos_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        ClientScriptManager cm = this.ClientScript;
        //obtenemos el nombre del archivo
        HyperLink nom_archivo = GV_validar_archivos.Rows[e.RowIndex].FindControl("HyperLink2") as HyperLink;
        string nombre_archivo = nom_archivo.Text.ToString();
        //obetenemos la fila
        GridViewRow fila = GV_validar_archivos.Rows[e.RowIndex];
        //obtenemos el id del archivo
        string id = (fila.FindControl("Label2") as Label).Text.ToString();

        //obtenemos la ruta de la imagen
        Image imagen = fila.FindControl("Image1") as Image;
        string ruta = imagen.ImageUrl.ToString();
        string imagen_saveLocation = Server.MapPath(ruta);

        //obetenemos la ruta del archivo
        HyperLink archivo = fila.FindControl("HyperLink2") as HyperLink;
        string url = archivo.NavigateUrl.ToString();
        string archivo_saveLocation = Server.MapPath(url);

        //creamos metodo y mandamos datos
        L_Validar_archivos archivo_rechazar = new L_Validar_archivos();
        U_Validar_archivos datos = archivo_rechazar.eliminar_archivo(nombre_archivo, id, imagen_saveLocation, archivo_saveLocation, Session["rolID"].ToString());

        //mandamos script desde la logica
        Response.Write(datos.Mensajes);
        //salir del estado de edicion
        GV_validar_archivos.EditIndex = -1;
        //lenamos grilla
        llenar_grilla(Session["rolUser"]);

    }
    protected void GV_validar_archivos_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        ClientScriptManager cm = this.ClientScript;
        string dinero = "sin_dinero";
        //obtenemos el nombre del archivo
        HyperLink nom_archivo = GV_validar_archivos.Rows[e.RowIndex].FindControl("HyperLink2") as HyperLink;
        string nombre_archivo = nom_archivo.Text.ToString();
        //obetenemos la fila
        GridViewRow fila = GV_validar_archivos.Rows[e.RowIndex];
        //obtenemos el id del dropdownlist
        DropDownList ddl = fila.FindControl("DropDownList1") as DropDownList;
        //obtenemos los datos del archivo
        string id = (fila.FindControl("Label2") as Label).Text.ToString();
        string idCategoria = ddl.SelectedValue.ToString();
        string nomCategoria = ddl.SelectedItem.Text.ToString();
        string idUser = (fila.FindControl("Label5") as Label).Text.ToString();

        //creamos metodo y mandamos datos
        L_Validar_archivos archivo_aprobar = new L_Validar_archivos();
        U_Validar_archivos datos = archivo_aprobar.aprobar_archivo(nombre_archivo, dinero, id, idCategoria, nomCategoria, idUser, Session["rolID"].ToString());

        //mandamos script desde la logica
        Response.Write(datos.Mensajes);

        //salir del estado de edicion
        GV_validar_archivos.EditIndex = -1;
        //lenamos grilla
        llenar_grilla(Session["rolUser"]);

    }
        //----- rechazar_archivo .....
        public U_Validar_archivos eliminar_archivo(string nombre_archivo, string id, string imagen_saveLocation, string archivo_saveLocation, string rol_user)
        {
            //llamamos metodos
            U_Validar_archivos accion = new U_Validar_archivos();
            //Dao_Validar_archivos archivoDatos = new Dao_Validar_archivos();
            //DataTable estado = archivoDatos.consultar_archivo_nombre(nombre_archivo);

            List <sp_consulta_archivo_nombre_Result> datos = operacion_n.sp_consulta_archivo_nombre(nombre_archivo).ToList <sp_consulta_archivo_nombre_Result>();
            DataTable estado = ToDataTable(datos);

            //preguntamos si el archivo ya ha sido moderado
            if (estado.Rows.Count == 0)
            { //si no trajo parametros el archivo fue moderado pero fue rechazado
                accion.Mensajes = "<script type='text/javascript'>alert('El archivo ya fue moderado');</script>";
                return(accion);
            }
            else
            {// si trajo parametros el archivo esta en el sistema
                //preguntamos si el archivo ya fue aprobado
                if (int.Parse(estado.Rows[0]["estado_mod"].ToString()) == 2)
                {//Si entra, el archivo ya fue moderado y fue aprobado
                    accion.Mensajes = "<script type='text/javascript'>alert('El archivo ya fue moderado');</script>";
                    return(accion);
                }
                else
                {//en caso contrario el archivo no ha sido moderado
                    try
                    {
                        //eliminamos desde BD y  servidor
                        //archivoDatos.eliminar_archivo(id, rol_user);
                        operacion_n.sp_eliminar_archivo(Int32.Parse(id), Int32.Parse(rol_user));

                        System.IO.File.Delete(imagen_saveLocation);
                        System.IO.File.Delete(archivo_saveLocation);

                        accion.Mensajes = "<script type='text/javascript'>alert('El archivo ha sido Eliminado del sistema');</script>";
                        return(accion);
                    }
                    catch (Exception exc)
                    {
                        throw exc;
                    }
                } //else
            }     //fin else moderado
        }
        //----- verificar sesion .....
        public U_Validar_archivos verificar(object user, object rol)
        {
            U_Validar_archivos datos = new U_Validar_archivos();

            if (user == null)
            {
                datos.Url_pag = "<script type='text/javascript'>window.location=\"inicio.aspx\"</script>";
            }
            else
            {
                if (int.Parse(rol.ToString()) != 1 && int.Parse(rol.ToString()) != 2)
                {
                    datos.Url_pag = "<script type='text/javascript'>window.location=\"inicio.aspx\"</script>";
                }
            }

            return(datos);
        }
    protected void Page_Load(object sender, EventArgs e)
    {
        Response.Cache.SetNoStore();
        //llamamos la logica y el metodo
        L_Validar_archivos operacion = new L_Validar_archivos();
        U_Validar_archivos datos = new U_Validar_archivos();

        Int64 idioma;

        //preguntamos si la session idioma viene vacio
        if (Session["idioma"] == null)
        {
            //idioma por defecto 
            idioma = Int64.Parse("1");
            datos_idioma = operacion.idioma(idioma, 15);
            llenar_componentes(datos_idioma);
        }
        else if (Session["idioma"] != null)
        {
            //idioma seleccionado
            idioma = Int64.Parse(Session["idioma"].ToString());
            datos_idioma = operacion.idioma(idioma, 15);
            llenar_componentes(datos_idioma);
        }

        if (!IsPostBack)
        {
            datos = operacion.verificar(Session["user"], Session["rolUser"]);

            //enviar desde la logica un codigo scrip
            Response.Write(datos.Url_pag);

            llenar_grilla(Session["rolUser"]);
        }

    }//page_load
        //----- aprobar_archivo .....
        public U_Validar_archivos aprobar_archivo(string nombre_archivo, string dinero, string id, string idCategoria, string nomCategoria, string idUser, string rol_user)
        {
            //llamamos metodos
            U_Validar_archivos accion   = new U_Validar_archivos();
            E_Aprobar_archivo  archivos = new E_Aprobar_archivo();
            //Dao_Validar_archivos archivoDatos = new Dao_Validar_archivos();
            //DataTable estado = archivoDatos.consultar_archivo_nombre(nombre_archivo);

            List <sp_consulta_archivo_nombre_Result> datos2 = operacion_n.sp_consulta_archivo_nombre(nombre_archivo).ToList <sp_consulta_archivo_nombre_Result>();
            DataTable estado = ToDataTable(datos2);


            //preguntamos si el archivo ya ha sido moderado
            if (estado.Rows.Count == 0)
            { //si no trajo parametros el archivo fue moderado pero fue rechazado
                accion.Mensajes = "<script type='text/javascript'>alert('El archivo ya fue moderado');</script>";
                return(accion);
            }
            else
            {// si trajo parametros el archivo esta en el sistema
                //preguntamos si el archivo ya fue aprobado
                if (int.Parse(estado.Rows[0]["estado_mod"].ToString()) == 2)
                {//Si entra, el archivo ya fue moderado y fue aprobado
                    accion.Mensajes = "<script type='text/javascript'>alert('El archivo ya fue moderado');</script>";
                    return(accion);
                }
                else
                {//en caso contrario el archivo no ha sido moderado
                    //preguntamos si no hay categorias seleccionadas
                    if (int.Parse(idCategoria) == 1)
                    {
                        accion.Mensajes = "<script type='text/javascript'>alert('Debe seleccionar una categoria');</script>";
                        return(accion);
                    }
                    else
                    { //en caso contrario obtenemos el precio de la categoria
                        DataTable info = new DataTable();
                        //info = archivoDatos.consultar_categoria(nomCategoria);
                        List <sp_consulta_categoria_Result> datos3 = operacion_n.sp_consulta_categoria(nomCategoria).ToList <sp_consulta_categoria_Result>();
                        info   = ToDataTable(datos3);
                        dinero = info.Rows[0]["precio_categoria"].ToString();
                    }

                    //encapsulamos datos
                    archivos.IdArchivo   = id;
                    archivos.IdCategoria = idCategoria;
                    archivos.IdUser      = idUser;
                    archivos.Precio      = dinero;
                    archivos.UserCambio  = rol_user;

                    try
                    {
                        //archivoDatos.modificar_archivo(archivos);
                        operacion_n.sp_aprobar_archivo(Int32.Parse(archivos.IdArchivo), Int32.Parse(archivos.IdCategoria), Int32.Parse(archivos.IdUser), Int32.Parse(archivos.Precio), Int32.Parse(archivos.UserCambio));

                        accion.Mensajes = "<script type='text/javascript'>alert('Archivo aprobado con exito');</script>";
                        return(accion);
                    }
                    catch (Exception exc)
                    {
                        throw exc;
                    }
                } //else
            }     //fin else moderado
        }