public void Guardar(PublicacionDto publicacionDto) { if (publicacionDto.Estado == EstadoObjeto.Nuevo) { PublicacionEntity publicacion = PublicacionEntity.Crear(publicacionDto.IdTipoPublicacion, publicacionDto.Titulo , publicacionDto.Subtitulo, publicacionDto.Resumen, publicacionDto.Resena, publicacionDto.Recurso , publicacionDto.Detalles.Select(p => DetallePublicacionEntity.Crear(p.IdTipoDetallePublicacion, p.Titulo , p.Resumen, p.Recurso, publicacionDto.Usuario)).ToList() , publicacionDto.Usuario); publicacion.ValidarObligatorios(); _publicacionRepository.Crear(publicacion); } else if (publicacionDto.Estado == EstadoObjeto.Modificado) { } else if (publicacionDto.Estado == EstadoObjeto.Borrado) { _publicacionRepository.Eliminar(publicacionDto.Id); } else { throw new Exception("El método no es el correcto"); } }
protected void rptPublicaciones_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { PublicacionEntity publicacion = (PublicacionEntity)e.Item.DataItem; HiddenField lblPublicacionId = (HiddenField)e.Item.FindControl("lblPublicacionId"); Image imgUsuarioPost = (Image)e.Item.FindControl("imgPubUsuarioPost"); Label lblNombreUsuario = (Label)e.Item.FindControl("lblPubNombreUsuario"); Label lblPubMensaje = (Label)e.Item.FindControl("lblPubMensaje"); Image imgPubImagen = (Image)e.Item.FindControl("imgPubImagen"); Label lblPubFecha = (Label)e.Item.FindControl("lblPubFecha"); Label imgPubRanking = (Label)e.Item.FindControl("imgPubRanking"); Repeater rptComentarios = (Repeater)e.Item.FindControl("rptComentarios"); lblPublicacionId.Value = publicacion.id.ToString(); lblNombreUsuario.Text = publicacion.nombreUsuario; lblPubMensaje.Text = publicacion.descripcion; if (publicacion.imagen != null) { imgPubImagen.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(publicacion.imagen, 0, publicacion.imagen.Length);; } lblPubFecha.Text = publicacion.actualizacion.ToString(); imgPubRanking.Text = publicacion.calificacion.ToString(); rptComentarios.DataSource = publicacion.listaComentarios; rptComentarios.DataBind(); } }
public PublicacionEntity Buscar(object idEntidad) { return(Consultar(() => { PublicacionEntity publicacion = _sistemasContext.Publicaciones.Find(idEntidad); return publicacion; })); }
public void Eliminar(object idEntidad) { Eliminar(() => { PublicacionEntity publicacion = Buscar(idEntidad); publicacion.Borrado(); _sistemasContext.Publicaciones.Remove(publicacion); _sistemasContext.GuardarCambios(); }); }
public PublicacionEntity ObtenerXId(long idPublicacion) { return(Consultar(() => { IQueryable <PublicacionEntity> consulta = GenerarConsultaConDetalles(); PublicacionEntity publicacion = consulta .Where(p => p.IdPublicacion == idPublicacion && p.IndicadorEstado == EstadoEntidad.Activo).Take(100).FirstOrDefault(); return publicacion; })); }
//public UsuarioEntity 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(PublicacionEntity publicacion) { try { publicacion.ValidarDatos(); daPublicacion.Insertar(publicacion); } catch (ExcepcionDA ex) { throw new ExcepcionBO("No se pudo realizar la registración de la publicación.", ex); } }
protected void btnPublicar_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(txtPublicar.Text)) { PublicacionEntity publicacion = new PublicacionEntity(); publicacion.usuarioID = SessionHelper.UsuarioAutenticado.id; publicacion.descripcion = txtPublicar.Text; publicacion.actualizacion = DateTime.Now; new PublicacionBO().Registrar(publicacion); Response.Redirect(Request.RawUrl); } }
public PublicacionDto MapearPublicacion(PublicacionEntity publicacion) { PublicacionDto publicacionDto = new PublicacionDto { Estado = EstadoObjeto.SinCambios, Fecha = publicacion.FechaModifico ?? publicacion.FechaRegistro, Usuario = publicacion.UsuarioModifico ?? publicacion.UsuarioRegistro, Id = publicacion.IdPublicacion, Emision = publicacion.FechaPublicacion, IdTipoPublicacion = publicacion.IdTipoPublicacion, Recurso = publicacion.DescripcionRecurso, Resena = publicacion.DescripcionResena, Resumen = publicacion.DescripcionResumen, Subtitulo = publicacion.DescripcionSubtitulo, Titulo = publicacion.DescripcionTitulo, Url = publicacion.DescripcionUrl, TipoPublicacion = new TipoPublicacionDto { Id = publicacion.TipoPublicacionX.IdTipoPublicacion, Descripcion = publicacion.TipoPublicacionX.DescripcionTipoPublicacion }, Detalles = publicacion.DetallePublicacionS.Select(g => new DetallePublicacionDto { Estado = EstadoObjeto.SinCambios, Fecha = g.FechaModifico ?? g.FechaRegistro, Usuario = g.UsuarioModifico ?? g.UsuarioRegistro, Id = g.IdDetallePublicacion, Titulo = g.DescripcionTitulo, Resumen = g.DescripcionResumen, Recurso = g.DescripcionRecurso, IdPublicacion = g.IdPublicacion, IdTipoDetallePublicacion = g.IdTipoDetallePublicacion, TipoDetallePublicacion = new TipoDetallePublicacionDto { Id = g.TipoDetallePublicacionX.IdTipoDetallePublicacion, Descripcion = g.TipoDetallePublicacionX.DescripcionTipoDetallePublicacion } }).ToList() }; return(publicacionDto); }
public bool Insertar(PublicacionEntity publicacion) { try { using (SqlConnection conexion = ConexionDA.ObtenerConexion()) { using (SqlCommand comando = new SqlCommand("PublicacionInsert", conexion)) { comando.CommandType = CommandType.StoredProcedure; SqlCommandBuilder.DeriveParameters(comando); comando.Parameters["@UsuarioID"].Value = publicacion.usuarioID; if (publicacion.grupoID > 0) { comando.Parameters["@GrupoID"].Value = publicacion.grupoID; } else { comando.Parameters["@GrupoID"].Value = DBNull.Value; } comando.Parameters["@Descripcion"].Value = publicacion.descripcion.Trim(); comando.Parameters["@PublicacionActualizacion"].Value = publicacion.actualizacion; //if (publicacion.imagen != null) comando.Parameters["@PublicacionImagen"].Value = publicacion.imagen; //else // comando.Parameters["@PublicacionImagen"].Value = DBNull.Value; comando.ExecuteNonQuery(); publicacion.id = Convert.ToInt32(comando.Parameters["@RETURN_VALUE"].Value); } conexion.Close(); return(true); } } catch (Exception ex) { throw new ExcepcionDA("Se produjo un error al insertar la publicacion.", ex); } }
public void Crear(PublicacionEntity entidad) { Guardar(() => { PublicacionEntity nuevaPublicacion = _sistemasContext.Publicaciones.Add(entidad); _sistemasContext.GuardarCambios(); string tituloFormateado = nuevaPublicacion.DescripcionTitulo.Replace(' ', '-').ToLower(CultureInfo.CurrentCulture); string[] caracteres = { "\"", "“", "”", "!", "¡", "#", "¿", "?" }; foreach (var caracter in caracteres) { tituloFormateado = tituloFormateado.Replace(caracter, ""); } string url = string.Format("{0}-{1}", tituloFormateado, nuevaPublicacion.IdPublicacion); nuevaPublicacion.DescripcionUrl = url; nuevaPublicacion.EstadoObjeto = EstadoObjeto.Modificado; _sistemasContext.GuardarCambios(); }); }
public PublicacionDto BuscarXId(long idPublicacion) { PublicacionEntity publicacion = _publicacionRepository.ObtenerXId(idPublicacion); return(MapearPublicacion(publicacion)); }
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); } }
private PublicacionEntity CrearPublicacion(SqlDataReader cursor) { PublicacionEntity publicacion = null; return(publicacion); }