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); } }
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); } } }
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); } }
//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); } }
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); }
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(); } }
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); } }