Beispiel #1
0
        public void Insertar(ComentarioEntity comentario)
        {
            try
            {
                using (SqlConnection conexion = ConexionDA.ObtenerConexion())
                {
                    using (SqlCommand comando = new SqlCommand("ComentarioInsert", conexion))
                    {
                        comando.CommandType = CommandType.StoredProcedure;
                        SqlCommandBuilder.DeriveParameters(comando);

                        comando.Parameters["@PublicacionID"].Value                = comentario.publicacionID;
                        comando.Parameters["@UsuarioID"].Value                    = comentario.usuarioID;
                        comando.Parameters["@ComentarioTexto"].Value              = comentario.texto.Trim();
                        comando.Parameters["@ComentarioCalificacion"].Value       = comentario.calificacion;
                        comando.Parameters["@ComentarioFechaActualizacion"].Value = comentario.fechaActualizacion;
                        comando.ExecuteNonQuery();
                        comentario.id = Convert.ToInt32(comando.Parameters["@RETURN_VALUE"].Value);
                    }

                    conexion.Close();
                }
            }
            catch (Exception ex)
            {
                throw new ExcepcionDA("Se produjo un error al insertar el comentario.", ex);
            }
        }
Beispiel #2
0
    protected void rptPublicaciones_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        if (e.CommandName == "Comentar")
        {
            string textoComentario = ((TextBox)e.Item.FindControl("txtComentar")).Text;

            if (!string.IsNullOrWhiteSpace(textoComentario))
            {
                int calificacion = Convert.ToInt32(((DropDownList)e.Item.FindControl("ddlCalificacion")).SelectedValue);

                int publicacionId = Convert.ToInt32(((HiddenField)e.Item.FindControl("lblPublicacionId")).Value);

                ComentarioEntity comentario = new ComentarioEntity();
                comentario.calificacion = calificacion;
                comentario.texto        = textoComentario;

                comentario.usuarioID     = SessionHelper.UsuarioAutenticado.id;
                comentario.publicacionID = publicacionId;

                new ComentarioBO().Registrar(comentario);

                Response.Redirect(Request.RawUrl);
            }
        }
    }
Beispiel #3
0
        public static List <ComentarioEntity> BuscarComentarios(object filtro)
        {
            try
            {
                string query       = "SELECT * FROM Comentario WHERE ";
                string parameterID = "";
                List <ComentarioEntity> comentarios = new List <ComentarioEntity>();
                if (filtro.GetType().Name == "PublicacionEntity")
                {
                    parameterID = ((GrupoEntity)filtro).id.ToString();
                    query      += "PublicacionID = @Parameter_ID";
                }
                if (filtro.GetType().Name == "UsuarioEntity")
                {
                    parameterID = ((UsuarioEntity)filtro).id.ToString();
                    query      += "UsuarioID = @Parameter_ID";
                }

                using (SqlConnection conexion = ConexionDA.ObtenerConexion())
                {
                    using (SqlCommand comando = new SqlCommand(query, conexion))
                    {
                        comando.Parameters.AddWithValue("@Parameter_ID", parameterID);
                        using (SqlDataReader cursor = comando.ExecuteReader())
                        {
                            while (cursor != null && cursor.Read())
                            {
                                ComentarioEntity comentario = new ComentarioEntity();
                                comentario.id                 = (int)cursor["ComentarioID"];
                                comentario.publicacionID      = (int)cursor["PublicacionID"];
                                comentario.usuarioID          = (int)cursor["UsuarioID"];
                                comentario.texto              = (string)cursor["ComentarioTexto"];
                                comentario.calificacion       = (int)cursor["ComentarioCalificacion"];
                                comentario.fechaActualizacion = (DateTime)cursor["ComentarioFechaActualizacion"];

                                comentarios.Add(comentario);
                            }

                            cursor.Close();
                        }
                    }

                    conexion.Close();
                }

                return(comentarios);
            }
            catch (Exception ex)
            {
                throw new ExcepcionDA("Se produjo un error al buscar la lista de publicaciones.", ex);
            }
        }
Beispiel #4
0
        //public ComentarioEntity Autenticar(string email, string password)
        //{
        //    try
        //    {
        //        UsuarioEntity usuario = daUsuario.BuscarUsuario(email, password);

        //        if (usuario == null)
        //            throw new AutenticacionExcepcionBO();

        //        return usuario;
        //    }
        //    catch (ExcepcionDA ex)
        //    {
        //        throw new ExcepcionBO("No se pudo realizar la registración del usuario.", ex);
        //    }
        //}

        public void Registrar(ComentarioEntity comentario)
        {
            try
            {
                comentario.ValidarDatos();

                daComentario.Insertar(comentario);
            }
            catch (ExcepcionDA ex)
            {
                throw new ExcepcionBO("No se pudo realizar la registración del comentario.", ex);
            }
        }
Beispiel #5
0
        private ComentarioEntity CrearComentario(SqlDataReader cursor)
        {
            ComentarioEntity comentario = new ComentarioEntity();

            comentario.id                 = cursor.GetInt32(cursor.GetOrdinal("ComentarioID"));
            comentario.publicacionID      = cursor.GetInt32(cursor.GetOrdinal("PublicacionID"));
            comentario.usuarioID          = cursor.GetInt32(cursor.GetOrdinal("UsuarioID"));
            comentario.texto              = cursor.GetString(cursor.GetOrdinal("ComentarioTexto"));
            comentario.calificacion       = cursor.GetInt32(cursor.GetOrdinal("ComentarioCalificacion"));
            comentario.fechaActualizacion = cursor.GetDateTime(cursor.GetOrdinal("ComentarioFechaActualizacion"));


            return(comentario);
        }
Beispiel #6
0
    protected void rptComentarios_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            ComentarioEntity comentario = (ComentarioEntity)e.Item.DataItem;

            Label lblComNombre = (Label)e.Item.FindControl("lblComNombre");
            Label lblComTexto  = (Label)e.Item.FindControl("lblComTexto");
            Label lblComFecha  = (Label)e.Item.FindControl("lblComFecha");
            Label lblComPuntos = (Label)e.Item.FindControl("lblComPuntos");

            lblComNombre.Text = comentario.nombreUsuario;
            lblComTexto.Text  = comentario.texto;
            lblComFecha.Text  = comentario.fechaActualizacion.ToString();
            lblComPuntos.Text = comentario.calificacion.ToString();
        }
    }
Beispiel #7
0
        public static List <PublicacionEntity> BuscarPublicaciones(object filtro)
        {
            try
            {
                string query = @"
SELECT distinct 

gu.GrupoID,
pub.*, com.*,
pub.PublicacionID, pub.Descripcion, pub.UsuarioID, 
com.ComentarioID, com.ComentarioTexto ,       
uc.UsuarioNombre + ' ' + uc.UsuarioApellido usuariocomentario, 
up.UsuarioNombre + ' ' + up.UsuarioApellido usuariopublicacion
--yo.usuarioid   
FROM Publicacion pub     
left join Comentario com on com.PublicacionID = pub.PublicacionID 
left join usuario up on pub.UsuarioID = up.UsuarioID    
left join usuario uc on com.usuarioid = uc.usuarioid
left join amigo am on pub.UsuarioID = am.UsuarioID or pub.UsuarioID = am.UsuarioIDAmigo
left join usuario yo on yo.UsuarioID = am.UsuarioID or yo.UsuarioID = am.UsuarioIDAmigo and pub.UsuarioID <> yo.UsuarioID
left join GrupoUsuario gu on (pub.GrupoID = gu.grupoiD and gu.GrupoID = @grupo_id) 
 
WHERE (yo.UsuarioID = @usuario_id or @usuario_id is null) and (gu.grupoiD = @grupo_id or @grupo_id is null)
ORDER BY pub.PublicacionActualizacion DESC , Com.ComentarioFechaActualizacion ASC  ;  

";


                List <PublicacionEntity> listaPublicaciones = new List <PublicacionEntity>();
                using (SqlConnection conexion = ConexionDA.ObtenerConexion())
                {
                    using (SqlCommand comando = new SqlCommand(query, conexion))
                    {
                        if (filtro.GetType().Name == "GrupoEntity")
                        {
                            comando.Parameters.AddWithValue("@Usuario_ID", DBNull.Value);
                            comando.Parameters.AddWithValue("@Grupo_ID", ((GrupoEntity)filtro).id.ToString());
                        }
                        if (filtro.GetType().Name == "UsuarioEntity")
                        {
                            comando.Parameters.AddWithValue("@Usuario_ID", ((UsuarioEntity)filtro).id.ToString());
                            comando.Parameters.AddWithValue("@Grupo_ID", DBNull.Value);
                        }
                        using (SqlDataReader cursor = comando.ExecuteReader())
                        {
                            int codant = 0;
                            PublicacionEntity publicacion = new PublicacionEntity();
                            publicacion.listaComentarios = new List <ComentarioEntity>();
                            int sumaCalificacion = 0;
                            int cantidad         = 0;
                            while (cursor != null && cursor.Read())
                            {
                                int pubID = (int)cursor["PublicacionID"];
                                if (codant != pubID)
                                {
                                    if (codant != 0)
                                    {
                                        if (cantidad != 0)
                                        {
                                            publicacion.calificacion = sumaCalificacion / cantidad;
                                        }
                                        listaPublicaciones.Add(publicacion);
                                        sumaCalificacion = 0;
                                        cantidad         = 0;
                                        publicacion      = new PublicacionEntity();
                                    }
                                    publicacion.id = pubID;
                                    if (cursor["GrupoID"] != DBNull.Value)
                                    {
                                        publicacion.grupoID = (int)cursor["GrupoID"];
                                    }
                                    publicacion.usuarioID     = (int)cursor["UsuarioID"];
                                    publicacion.descripcion   = (string)cursor["Descripcion"];
                                    publicacion.actualizacion = (DateTime)cursor["PublicacionActualizacion"];
                                    publicacion.calificacion  = (int)cursor["PublicacionCalificacion"];
                                    publicacion.nombreUsuario = (string)cursor["usuariopublicacion"];
                                    if (cursor["PublicacionImagen"] != DBNull.Value)
                                    {
                                        publicacion.imagen = (byte[])cursor["PublicacionImagen"];
                                    }

                                    codant = pubID;
                                }

                                if (cursor["ComentarioID"] != DBNull.Value)
                                {
                                    ComentarioEntity comentario = new ComentarioEntity();
                                    comentario.id                 = (int)cursor["ComentarioID"];
                                    comentario.usuarioID          = (int)cursor["UsuarioID"];
                                    comentario.texto              = cursor["ComentarioTexto"].ToString();
                                    comentario.calificacion       = (int)cursor["ComentarioCalificacion"];
                                    comentario.fechaActualizacion = (DateTime)cursor["ComentarioFechaActualizacion"];
                                    comentario.nombreUsuario      = (string)cursor["usuariocomentario"];
                                    sumaCalificacion             += comentario.calificacion;
                                    cantidad++;
                                    publicacion.listaComentarios.Add(comentario);
                                }
                            }
                            if (cantidad != 0)
                            {
                                publicacion.calificacion = sumaCalificacion / cantidad;
                            }
                            listaPublicaciones.Add(publicacion);
                            sumaCalificacion = 0;
                            cantidad         = 0;
                            cursor.Close();
                        }
                    }

                    conexion.Close();
                }

                return(listaPublicaciones);
            }
            catch (Exception ex)
            {
                throw new ExcepcionDA("Se produjo un error al buscar la lista de publicaciones.", ex);
            }
        }