private void LimpiarEliminarRegistroImagen(string idImagen)
        {
            Entidades.Imagenes imagenes = new Entidades.Imagenes();

            imagenes.IdImagen = Convert.ToInt32(idImagen);

            imagenes.Eliminar();
        }
        private void RechazarPublicacion(string idImagen)
        {
            EliminarImagen(Convert.ToInt32(idImagen));

            Entidades.Imagenes imagenes = new Entidades.Imagenes();

            imagenes.IdImagen = Convert.ToInt32(idImagen);

            imagenes.Eliminar();

            RecargarPagina();
        }
        private void AprobarPublicacion(string idImagen)
        {
            Entidades.Imagenes imagenes = new Entidades.Imagenes();

            imagenes.IdImagen = Convert.ToInt32(idImagen);

            imagenes.EsAprobado = 1;

            imagenes.FechaPublicacion = DateTime.Now;

            imagenes.Actualizar();

            RecargarPagina();
        }
        private void GuardarAporte()
        {
            // La primera opcion verifica si es archivo de imagen y si se pudo subir exitosamente para guardar el registro, la segunda opcion guarda normal.

            if ((opcionSeleccionada == 0 && !string.IsNullOrEmpty(AplicacionWeb.Miembros.EnviarAporte.RutaRelativa)) || (opcionSeleccionada == 1))
            {
                // Para guardar los datos que van en la tabla Imagenes.

                Entidades.Imagenes imagenes = new Entidades.Imagenes();

                imagenes.IdCategoria = Convert.ToInt32(ddlCategoria.SelectedValue);

                imagenes.UserId = ( Guid )Membership.GetUser().ProviderUserKey;

                // Va en ceros porque aun no se sabe si será publicada.

                imagenes.EsAprobado = 0;

                imagenes.Titulo = txtTituloImagen.Text;

                imagenes.DirectorioRelativo = AplicacionWeb.Miembros.EnviarAporte.DirectorioRelativo;

                imagenes.RutaRelativa = AplicacionWeb.Miembros.EnviarAporte.RutaRelativa;

                imagenes.EnlaceExterno = txtEnlaceExterno.Text;

                imagenes.EtiquetasBasicas = txtPersonaje.Text + " " + txtEquipo.Text + " " + txtCompeticion.Text;

                imagenes.EtiquetasOpcionales = txtEtiquetasOpcionales.Text;

                imagenes.FechaSubida = DateTime.Now;

                // Va en ceros porque aun no se sabe si será publicada.

                imagenes.FechaPublicacion = new DateTime(2001, 01, 01);

                imagenes.Guardar();

                ReiniciarValores();

                Redireccionar();
            }
            else
            {
                lblError.Visible = true;

                lblError.Text = "Error al guardar datos de aporte";
            }
        }
        private void LimpiarImagenes(int estatus, int cantidad)
        {
            Entidades.Imagenes imagenes = new Entidades.Imagenes();

            List <Entidades.Imagenes> listaImagenes = new List <Entidades.Imagenes>();

            listaImagenes = imagenes.ObtenerListadoPorEstatus(estatus, cantidad);

            foreach (Entidades.Imagenes elementoImagenes in listaImagenes)
            {
                if (!string.IsNullOrEmpty(elementoImagenes.DirectorioRelativo) && !string.IsNullOrEmpty(elementoImagenes.RutaRelativa))
                {
                    LimpiarVerificarArchivoImagen(elementoImagenes);
                }
            }
        }
        private void VerificarEnlaceImagen(Entidades.Imagenes elementoImagenes)
        {
            string idImagen = elementoImagenes.IdImagen.ToString();

            string idCategoria = elementoImagenes.IdCategoria.ToString();

            string userId = elementoImagenes.UserId.ToString();

            string esAprobado = elementoImagenes.EsAprobado.ToString();

            string titulo = elementoImagenes.Titulo.ToString();

            string directorioRelativo = elementoImagenes.DirectorioRelativo.ToString();

            string rutaRelativa = elementoImagenes.RutaRelativa.ToString();

            string enlaceExterno = elementoImagenes.EnlaceExterno.ToString();

            string etiquetasBasicas = elementoImagenes.EtiquetasBasicas.ToString();

            string etiquetasOpcionales = elementoImagenes.EtiquetasOpcionales.ToString();

            string fechaSubida = elementoImagenes.FechaSubida.ToString();

            string fechaPublicacion = elementoImagenes.FechaPublicacion.ToString();

            Panel pnlImagen = CrearPanelImagen(idImagen);

            pnlImagenes.Controls.Add(pnlImagen);

            Image imgPendiente = CrearImagePendiente(enlaceExterno, titulo);

            pnlImagen.Controls.Add(imgPendiente);

            Panel pnlCalificar = CrearPanelCalificar(idImagen);

            pnlImagen.Controls.Add(pnlCalificar);

            Button btnAprobar = CrearButtonAprobar(idImagen);

            pnlCalificar.Controls.Add(btnAprobar);

            Button btnRechazar = CrearButtonRechazar(idImagen);

            pnlCalificar.Controls.Add(btnRechazar);
        }
        private void LimpiarVerificarArchivoImagen(Entidades.Imagenes elementoImagenes)
        {
            string idImagen = elementoImagenes.IdImagen.ToString();

            string directorioRelativo = elementoImagenes.DirectorioRelativo.ToString();

            string rutaRelativa = elementoImagenes.RutaRelativa.ToString();

            System.IO.DirectoryInfo directorio = new System.IO.DirectoryInfo(HttpContext.Current.Server.MapPath(directorioRelativo));

            if (directorio.Exists)
            {
                System.IO.FileInfo[] archivos = directorio.GetFiles();

                bool esArchivoEncontrado = false;

                foreach (System.IO.FileInfo archivo in archivos)
                {
                    string urlImagen = string.Format("{0}\\{1}", directorioRelativo, archivo);

                    if (rutaRelativa.Equals(urlImagen))
                    {
                        esArchivoEncontrado = true;

                        break;
                    }
                }

                if (!esArchivoEncontrado)
                {
                    LimpiarEliminarArchivoImagen(directorioRelativo, rutaRelativa);

                    LimpiarEliminarRegistroImagen(idImagen);

                    LimpiarEliminarRegistroComentarios(idImagen);
                }
            }
            else if (!directorio.Exists)
            {
                LimpiarEliminarRegistroImagen(idImagen);

                LimpiarEliminarRegistroComentarios(idImagen);
            }
        }
        private void AdministrarImagenes()
        {
            Entidades.Imagenes imagenes = new Entidades.Imagenes();

            List <Entidades.Imagenes> listaImagenes = new List <Entidades.Imagenes> ();

            listaImagenes = imagenes.ObtenerListadoPendientes();

            foreach (Entidades.Imagenes elementoImagenes in listaImagenes)
            {
                if (!string.IsNullOrEmpty(elementoImagenes.DirectorioRelativo) && !string.IsNullOrEmpty(elementoImagenes.RutaRelativa))
                {
                    VerificarArchivoImagen(elementoImagenes);
                }
                else if (!string.IsNullOrEmpty(elementoImagenes.EnlaceExterno))
                {
                    VerificarEnlaceImagen(elementoImagenes);
                }
            }
        }
        private void EliminarImagen(int idImagen)
        {
            Entidades.Imagenes imagenes = new Entidades.Imagenes();

            List <Entidades.Imagenes> listaImagen = imagenes.ObtenerPorIdImagen(idImagen);

            if (listaImagen.Count == 1)
            {
                string idCategoria = listaImagen[0].IdCategoria.ToString();;

                string userId = listaImagen[0].UserId.ToString();

                string esAprobado = listaImagen[0].EsAprobado.ToString();

                string titulo = listaImagen[0].Titulo;

                string directorioRelativo = listaImagen[0].DirectorioRelativo.ToString();

                string rutaRelativa = listaImagen[0].RutaRelativa.ToString();

                string enlaceExterno = listaImagen[0].EnlaceExterno.ToString();

                string etiquetasBasicas = listaImagen[0].EtiquetasBasicas.ToString();

                string etiquetasOpcionales = listaImagen[0].EtiquetasOpcionales.ToString();

                string fechaSubida = listaImagen[0].FechaSubida.ToString();

                string fechaPublicacion = listaImagen[0].FechaPublicacion.ToString();

                // Si es archivo hay que buscarlo para eliminarlo.

                if (!string.IsNullOrEmpty(directorioRelativo) && !string.IsNullOrEmpty(rutaRelativa))
                {
                    EliminarArchivoImagen(directorioRelativo, rutaRelativa);
                }
            }
        }
        private void GuardarAporte()
        {
            // La primera opcion verifica si es archivo de imagen y si se pudo subir exitosamente para guardar el registro, la segunda opcion guarda normal.

            if ( ( opcionSeleccionada == 0 && ! string.IsNullOrEmpty ( AplicacionWeb.Miembros.EnviarAporte.RutaRelativa ) )  || ( opcionSeleccionada == 1 ) )
            {

                // Para guardar los datos que van en la tabla Imagenes.

                Entidades.Imagenes imagenes = new Entidades.Imagenes();

                imagenes.IdCategoria = Convert.ToInt32 ( ddlCategoria.SelectedValue );

                imagenes.UserId = ( Guid ) Membership.GetUser().ProviderUserKey;

                // Va en ceros porque aun no se sabe si será publicada.

                imagenes.EsAprobado = 0;

                imagenes.Titulo = txtTituloImagen.Text;

                imagenes.DirectorioRelativo = AplicacionWeb.Miembros.EnviarAporte.DirectorioRelativo;

                imagenes.RutaRelativa = AplicacionWeb.Miembros.EnviarAporte.RutaRelativa;

                imagenes.EnlaceExterno = txtEnlaceExterno.Text;

                imagenes.EtiquetasBasicas = txtPersonaje.Text + " " + txtEquipo.Text + " " + txtCompeticion.Text;

                imagenes.EtiquetasOpcionales = txtEtiquetasOpcionales.Text;

                imagenes.FechaSubida = DateTime.Now;

                // Va en ceros porque aun no se sabe si será publicada.

                imagenes.FechaPublicacion = new DateTime ( 2001, 01, 01 );

                imagenes.Guardar();

                ReiniciarValores();

                Redireccionar();

            }
            else
            {

                lblError.Visible = true;

                lblError.Text = "Error al guardar datos de aporte";

            }
        }
        private void RechazarPublicacion( string idImagen )
        {
            EliminarImagen ( Convert.ToInt32 ( idImagen ) );

            Entidades.Imagenes imagenes = new Entidades.Imagenes();

            imagenes.IdImagen = Convert.ToInt32 ( idImagen );

            imagenes.Eliminar();

            RecargarPagina();
        }
        private void LimpiarImagenes(int estatus, int cantidad)
        {
            Entidades.Imagenes imagenes = new Entidades.Imagenes();

            List<Entidades.Imagenes> listaImagenes = new List<Entidades.Imagenes>();

            listaImagenes = imagenes.ObtenerListadoPorEstatus(estatus, cantidad);

            foreach (Entidades.Imagenes elementoImagenes in listaImagenes)
            {

                if (!string.IsNullOrEmpty(elementoImagenes.DirectorioRelativo) && !string.IsNullOrEmpty(elementoImagenes.RutaRelativa))

                    LimpiarVerificarArchivoImagen(elementoImagenes);

            }
        }
        private void LimpiarEliminarRegistroImagen(string idImagen)
        {
            Entidades.Imagenes imagenes = new Entidades.Imagenes();

            imagenes.IdImagen = Convert.ToInt32(idImagen);

            imagenes.Eliminar();
        }
        private void LimitarEliminarRegistroImagen(int cantidad)
        {
            Entidades.Imagenes imagenes = new Entidades.Imagenes();

            imagenes.EliminarLimite(cantidad);
        }
        private void EliminarImagen( int idImagen )
        {
            Entidades.Imagenes imagenes = new Entidades.Imagenes();

            List < Entidades.Imagenes > listaImagen = imagenes.ObtenerPorIdImagen ( idImagen );

            if ( listaImagen.Count == 1 )
            {

                string idCategoria = listaImagen[0].IdCategoria.ToString(); ;

                string userId = listaImagen[0].UserId.ToString();

                string esAprobado = listaImagen[0].EsAprobado.ToString();

                string titulo = listaImagen[0].Titulo;

                string directorioRelativo = listaImagen[0].DirectorioRelativo.ToString();

                string rutaRelativa = listaImagen[0].RutaRelativa.ToString();

                string enlaceExterno = listaImagen[0].EnlaceExterno.ToString();

                string etiquetasBasicas = listaImagen[0].EtiquetasBasicas.ToString();

                string etiquetasOpcionales = listaImagen[0].EtiquetasOpcionales.ToString();

                string fechaSubida = listaImagen[0].FechaSubida.ToString();

                string fechaPublicacion = listaImagen[0].FechaPublicacion.ToString();

                // Si es archivo hay que buscarlo para eliminarlo.

                if ( ! string.IsNullOrEmpty ( directorioRelativo ) && ! string.IsNullOrEmpty ( rutaRelativa ) )

                    LimpiarEliminarArchivoImagen ( directorioRelativo, rutaRelativa );

            }
        }
        private void AprobarPublicacion( string idImagen)
        {
            Entidades.Imagenes imagenes = new Entidades.Imagenes();

            imagenes.IdImagen = Convert.ToInt32 ( idImagen );

            imagenes.EsAprobado = 1;

            imagenes.FechaPublicacion = DateTime.Now;

            imagenes.Actualizar();

            RecargarPagina();
        }
        private void AdministrarImagenes()
        {
            Entidades.Imagenes imagenes = new Entidades.Imagenes();

            List < Entidades.Imagenes > listaImagenes = new List < Entidades.Imagenes > ();

            listaImagenes = imagenes.ObtenerListadoPendientes();

            foreach ( Entidades.Imagenes elementoImagenes in listaImagenes )
            {

                if ( ! string.IsNullOrEmpty ( elementoImagenes.DirectorioRelativo ) && ! string.IsNullOrEmpty ( elementoImagenes.RutaRelativa ) )

                    VerificarArchivoImagen ( elementoImagenes );

                else if ( ! string.IsNullOrEmpty ( elementoImagenes.EnlaceExterno ) )

                    VerificarEnlaceImagen ( elementoImagenes );

            }
        }
        private void VerificarArchivoImagen(Entidades.Imagenes elementoImagenes)
        {
            string idImagen = elementoImagenes.IdImagen.ToString();

            string idCategoria = elementoImagenes.IdCategoria.ToString();

            string userId = elementoImagenes.UserId.ToString();

            string esAprobado = elementoImagenes.EsAprobado.ToString();

            string titulo = elementoImagenes.Titulo.ToString();

            string directorioRelativo = elementoImagenes.DirectorioRelativo.ToString();

            string rutaRelativa = elementoImagenes.RutaRelativa.ToString();

            string enlaceExterno = elementoImagenes.EnlaceExterno.ToString();

            string etiquetasBasicas = elementoImagenes.EtiquetasBasicas.ToString();

            string etiquetasOpcionales = elementoImagenes.EtiquetasOpcionales.ToString();

            string fechaSubida = elementoImagenes.FechaSubida.ToString();

            string fechaPublicacion = elementoImagenes.FechaPublicacion.ToString();

            System.IO.DirectoryInfo directorio = new System.IO.DirectoryInfo(HttpContext.Current.Server.MapPath(directorioRelativo));

            if (directorio.Exists)
            {
                System.IO.FileInfo[] archivos = directorio.GetFiles();

                bool esArchivoEncontrado = false;

                foreach (System.IO.FileInfo archivo in archivos)
                {
                    string urlImagen = string.Format("{0}\\{1}", directorioRelativo, archivo);

                    if (rutaRelativa.Equals(urlImagen))
                    {
                        Panel pnlImagen = CrearPanelImagen(idImagen);

                        pnlImagenes.Controls.Add(pnlImagen);

                        Image imgPendiente = CrearImagePendiente(urlImagen, titulo);

                        pnlImagen.Controls.Add(imgPendiente);

                        Panel pnlCalificar = CrearPanelCalificar(idImagen);

                        pnlImagen.Controls.Add(pnlCalificar);

                        Button btnAprobar = CrearButtonAprobar(idImagen);

                        pnlCalificar.Controls.Add(btnAprobar);

                        Button btnRechazar = CrearButtonRechazar(idImagen);

                        pnlCalificar.Controls.Add(btnRechazar);

                        esArchivoEncontrado = true;

                        break;
                    }
                }

                if (!esArchivoEncontrado)
                {
                    Panel pnlImagen = CrearPanelImagen(idImagen);

                    pnlImagenes.Controls.Add(pnlImagen);

                    Literal litImagenNoEncontrada = CrearLiteralImagenNoEncontrada(rutaRelativa);

                    pnlImagen.Controls.Add(litImagenNoEncontrada);
                }
            }
            else if (!directorio.Exists)
            {
                Label lblSinArchivos = CrearLabelDirectorioNoExistente();

                pnlImagenes.Controls.Add(lblSinArchivos);
            }
        }
        private void LimitarEliminarRegistroImagen(int cantidad)
        {
            Entidades.Imagenes imagenes = new Entidades.Imagenes();

            imagenes.EliminarLimite(cantidad);
        }