/*
         * AL cargar la pagina de inicio, se mostraran todos los archivos de la base de datos que sean publicos
         */
        protected void Page_Load(object sender, EventArgs e)
        {
            File_EN fi = new File_EN();

            GridViewMostrarTodo.DataSource = fi.MostrarAllFiles();
            GridViewMostrarTodo.DataBind();
        }
        /**
         * Se encarga de subir el archivo y meterlo en la base de datos
         **/
        public int SubirFile(File_EN f)
        {
            SqlConnection nueva_conexion = new SqlConnection(Constants.nombreConexion);
            int           id             = 0;

            try
            {
                nueva_conexion.Open();
                f.Fecha_creacion = DateTime.Now;
                string ahora  = f.Fecha_creacion.ToString("yyyy/MM/dd HH:mm:ss");
                string insert = "";
                insert  = "Insert Into Files(name,description,creation_date,owner) VALUES ('";
                insert += f.Nombre + "','" + f.Descripcion + "','" + ahora + "','" + f.Propietario + "')";

                SqlCommand com = new SqlCommand(insert, nueva_conexion);

                com.ExecuteNonQuery();
                string select = "select ID from Files where name='" + f.Nombre + "' and owner='" +
                                f.Propietario + "' order by ID desc";
                com = new SqlCommand(select, nueva_conexion);
                SqlDataReader dr = com.ExecuteReader();

                if (dr.Read())
                {
                    id   = dr.GetInt32(0);
                    f.ID = id;
                    newVersion(f);
                }
            }
            catch (Exception ex) { }
            finally { nueva_conexion.Close(); }
            return(id);
        }
        /**
         * Se encarga de mostrar los likes que tiene asociada cada archivo
         **/
        public ArrayList showLikes(File_EN f)
        {
            SqlConnection c = new SqlConnection(Constants.nombreConexion);

            try
            {
                c.Open();
                string select = "select nombre,name, count(*) as lik from Likes,Files,Users where " +
                                "Users.ID=Files.owner and Files.ID=Likes.files group by Files.name, Files.ID, nombre order by lik desc;";
                SqlCommand    com  = new SqlCommand(select, c);
                SqlDataReader dr   = com.ExecuteReader();
                int           cont = 0;
                while (cont++ < 10 && dr.Read())
                {
                    File_EN archivo = new File_EN();
                    archivo.ID          = Convert.ToInt16(dr["Lik"]);
                    archivo.Nombre      = dr["name"].ToString();
                    archivo.Descripcion = dr["nombre"].ToString();
                    lista.Add(archivo);
                }
                dr.Close();
            }
            catch (Exception ex) { }
            finally { c.Close(); }

            return(lista);
        }
        /**
         * Se encarga de buscar en la base de datos,a través del id del archivo,si se encuentra o no en la base de datos
         **/
        public bool BuscarFile(File_EN f)
        {
            bool encontrado = false;

            SqlConnection nueva_conexion = new SqlConnection(Constants.nombreConexion);

            try
            {
                nueva_conexion.Open();
                string select = "";
                select = "Select id from Files where Files.ID =" + f.ID;
                SqlCommand    com = new SqlCommand(select, nueva_conexion);
                SqlDataReader dr  = com.ExecuteReader();

                if (dr.HasRows)
                {
                    encontrado = true;
                }

                dr.Close();
            }

            catch (Exception ex) { }
            finally { nueva_conexion.Close(); }

            return(encontrado);
        }
        /**
         * Se encarga de mostrar las versiones que tiene un archivo
         **/

        public int newVersion(File_EN fe)
        {
            int           Version = 1;
            int           ID_Principal;
            SqlConnection c = new SqlConnection(Constants.nombreConexion);

            try
            {
                c.Open();
                string select = "Select ID,num_version from Files,Versions where name = '" + fe.Nombre +
                                "' and files1=ID order by num_version desc";
                SqlCommand    com = new SqlCommand(select, c); //se ordena del reves
                SqlDataReader dr  = com.ExecuteReader();
                if (dr.Read())                                 // solamente queremos el primero para saber la ultima version subida
                {
                    Version     += Convert.ToInt16(dr["num_version"]);
                    ID_Principal = Convert.ToInt16(dr["ID"]);
                }
                else
                {
                    ID_Principal = fe.ID; //version se mantiene a 1 y file1=file2=ID_Principal en la primera version
                }
                dr.Close();
                string insert = "";
                insert  = "Insert Into Versions(files1,files2,num_version) VALUES ('";
                insert += ID_Principal + "','" + fe.ID + "','" + Version + "')";
                com     = new SqlCommand(insert, c);
                com.ExecuteNonQuery();
            }
            catch (Exception ex) { }
            finally { c.Close(); }


            return(Version);
        }
        /**
         * Se encarga de mostrar los datos de un archivo al que le pasamos el id de ese archivo
         **/
        public ArrayList MostrarFile(File_EN f)
        {
            SqlConnection c = new SqlConnection(Constants.nombreConexion);

            c.Open();
            SqlCommand    com = new SqlCommand("Select * from Files where ID=" + f.ID, c);
            SqlDataReader dr  = com.ExecuteReader();


            if (dr.Read())
            {
                File_EN archivo = new File_EN();
                archivo.ID             = dr.GetInt32(0);
                archivo.Nombre         = (dr["name"].ToString());
                archivo.Descripcion    = (dr["description"].ToString());
                archivo.Fecha_creacion = Convert.ToDateTime(dr["creation_date"]);
                archivo.Propietario    = Convert.ToByte(dr["owner"]);

                lista.Add(archivo);
            }
            dr.Close();
            c.Close();

            return(lista);
        }
        /**
         * Se encarga de mostrar todos los archivos de un usuario
         **/
        public ArrayList MostrarFilesUsuarioNombre(int propietario)
        {
            SqlConnection c = new SqlConnection(Constants.nombreConexion);

            try
            {
                c.Open();
                string        select = "Select * from Files,Versions where owner = " + propietario + " and Files.ID=Versions.Files1 order by ID,num_version";
                SqlCommand    com    = new SqlCommand(select, c);
                SqlDataReader dr     = com.ExecuteReader();
                while (dr.Read())
                {
                    File_EN archivo = new File_EN();
                    archivo.Version        = Convert.ToInt16(dr["num_version"]);
                    archivo.ID             = Convert.ToInt16(dr["ID"]);
                    archivo.Nombre         = dr["name"].ToString();
                    archivo.Descripcion    = dr["description"].ToString();
                    archivo.Fecha_creacion = Convert.ToDateTime(dr["creation_date"]);
                    archivo.Propietario    = Convert.ToByte(dr["owner"]);
                    lista.Add(archivo);
                }
                dr.Close();
            }
            catch (Exception ex) { }
            finally { c.Close(); }

            return(lista);
        }
        /**
         * Se encarga de mostrar los datos de un archivo a traves del id del owner
         **/
        public ArrayList MostrarDatosArchivo(File_EN f)
        {
            SqlConnection c = new SqlConnection(Constants.nombreConexion);

            try
            {
                c.Open();
                string        select = "Select * from Files where Files.owner=" + f.Propietario;
                SqlCommand    com    = new SqlCommand(select, c);
                SqlDataReader dr     = com.ExecuteReader();
                while (dr.Read())
                {
                    File_EN archivo = new File_EN();
                    archivo.Nombre         = dr["name"].ToString();
                    archivo.Descripcion    = dr["description"].ToString();
                    archivo.Fecha_creacion = Convert.ToDateTime(dr["creation_date"]);
                    archivo.Propietario    = Convert.ToByte(dr["owner"]);
                    lista.Add(archivo);
                }
                dr.Close();
            }
            catch (Exception ex) { }
            finally { c.Close(); }

            return(lista);
        }
示例#9
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (Request.QueryString.HasKeys() && Request.QueryString.Keys[0] == "query")
     {
         File_EN fi = new File_EN();
         GridViewBusqueda.DataSource = fi.BuscarFiles(Request.QueryString["query"].ToString());
         GridViewBusqueda.DataBind();
     }
     else
     {
         Response.Redirect("~/Inicio.aspx");
     }
 }
        protected void Button_Buscra_Click(object sender, EventArgs e)
        {
            User_EN usuarioABuscar = new User_EN();
            User_EN usuario        = usuarioABuscar.BuscarUsuario(usuario_buscar.Text);

            if (usuario != null)
            {
                File_EN fi = new File_EN();
                fi.Propietario = usuario.ID;//Para identificar al usuario
                //EL griedView, mostrara un tabla con todos los datos que nos devuelva MostrarFilesUsuarioNombreEn
                GridViewMostrarArchivosUsuario.DataSource = fi.MostrarFilesUsuarioNombreEn();
                GridViewMostrarArchivosUsuario.DataBind();
            }
        }
示例#11
0
        protected void GridViewBusqueda_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                HyperLink Texto_Descarga = (HyperLink)e.Row.FindControl("Descarga");                       //Creamos el link para la descargar
                File_EN   f           = (File_EN)e.Row.DataItem;
                string    rutaArchivo = "Files/" + f.Propietario + "/" + HttpUtility.HtmlDecode(f.Nombre); //Guardamos la ruta del archivo

                Image  icono            = (Image)e.Row.FindControl("icono_fichero");
                string extensionArchivo = Path.GetExtension(rutaArchivo);
                extensionArchivo = extensionArchivo.Substring(1, extensionArchivo.Length - 1); //quitar punto (carácter 0 del string)
                string rutaIcono = Server.MapPath("/styles/format-icons/" + extensionArchivo + ".svg");
                icono.ImageUrl = File.Exists(rutaIcono) ? "~/styles/format-icons/" + extensionArchivo + ".svg" : "~/styles/format-icons/file.svg";

                Texto_Descarga.NavigateUrl = Server.MapPath(rutaArchivo); //Copiamos la ruta del archivo a la URL para descargar
            }
        }
        /**
         * Se encarga de borrar el archivo de la base de datos
         **/
        public void BorrarFile(File_EN f)
        {
            SqlConnection nueva_conexion = new SqlConnection(Constants.nombreConexion);

            try
            {
                nueva_conexion.Open();
                string delete = "";
                delete = "Delete from Files where Files.ID = " + f.ID;
                SqlCommand com = new SqlCommand(delete, nueva_conexion);


                com.ExecuteNonQuery();
            }
            catch (Exception ex) { }
            finally { nueva_conexion.Close(); }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            // if (Request.QueryString.Count > 0)
            // {
            //     if (Request.QueryString.Keys[0] == "ID")
            User_EN en = (User_EN)Session["user_session_data"];

            if (en != null)
            {
                en.LeerUsuario();      //lee todos los datos del usuario de la base de datos, ya que la pagina solo proporciona login y password

                File_EN fi = new File_EN();
                fi.Propietario = en.ID;    //Para identificar al usuario
                //EL griedView, mostrara un tabla con todos los datos que nos devuelva MostrarFilesUsuarioNombreEn
                GridViewMostrarArchivos.DataSource = fi.MostrarFilesUsuarioNombreEn();
                GridViewMostrarArchivos.DataBind();
            }
            //}
        }
示例#14
0
        /*
         * Este método esta conectado al boton de subir archivo
         */
        protected void Button_Upload_Click(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                String path = Server.MapPath("Files/"); //Ruta donde subir el archivo (en la carpeta "Files" de nuestro proyecto)
                if (FileUpload1.HasFile)
                {
                    try
                    {
                        User_EN user = (User_EN)Session["user_session_data"];
                        if (user != null)
                        {
                            File_EN arx = new File_EN();

                            user.LeerUsuario();                                     //Leemos los datos del usuario
                            arx.Nombre      = FileUpload1.FileName;
                            arx.Propietario = user.ID;                              //El propietario del archivo sera igual al id del usuario
                            int    id         = arx.SubirArchivo();
                            string pathString = path + "/" + user.ID + "/";         //Se guardara dentro de una carpeta con el id del usuario
                            Directory.CreateDirectory(pathString);
                            FileUpload1.PostedFile.SaveAs(pathString + arx.Nombre); //Guardamos el archivo en la ruta correspondiente
                        }
                        else
                        {
                            Response.Write("Error. usuario no válido");
                        }
                    }
                    catch (Exception ex)
                    {
                        Response.Write("El archivo no se puede subir.");
                    }
                }
                else
                {
                    Response.Write("Cannot accept files of this type.");
                }
            }
        }
        /*
         * Esta funcion esta conectada al boton para borrar el archivo
         */
        protected void Borrar_Click(object sender, EventArgs e)
        {
            LinkButton lb        = (LinkButton)sender;                 //Creamos un linkButton con el objeto emisor(sender)
            HyperLink  h         = (HyperLink)lb.FindControl("Borra"); //Conectamos el linkButton al link de borrar
            string     rutaborra = h.NavigateUrl;
            File_EN    f_bbdd    = new File_EN();

            f_bbdd.ID = Convert.ToInt32(h.Text);

            /*
             * Creamos una variable de tipo FileInfo con la ruta del archivo a borrar,
             * que se utiliza para proporcionar métodos
             * y propiedades para borrar entre otros
             */
            FileInfo file = new FileInfo(rutaborra);

            if (file.Exists)
            {
                file.Delete();                              //Borramos el archivo de la carpeta de nuestro proyecto
                f_bbdd.BorrarArchivo();                     //Borramos el archivo de la base de datos
                Response.Redirect(Request.Url.AbsoluteUri); //Recarga página para refrescar los datos
            }
        }