public List <DTOPostagem> SelectUltimas() { List <DTOPostagem> postagens = new List <DTOPostagem>(); IDbConnection objConexao; IDbCommand objCommand; IDataReader objDataReader; try { objConexao = Mapped.Connection(); string sql = "SELECT * FROM tbl_postagem p INNER JOIN tbl_colunista u ON p.col_id = u.col_id INNER JOIN tbl_tipopostagem tp ON p.tip_id = tp.tip_id WHERE p.pos_ativo = true ORDER BY p.pos_data DESC LIMIT 4 "; objCommand = Mapped.Command(sql, objConexao); objDataReader = objCommand.ExecuteReader(); while (objDataReader.Read()) { DTOPostagem postagem = new DTOPostagem(); DALComentario comentario = new DALComentario(); DALTema tema = new DALTema(); postagem.PostagemId = Convert.ToInt32(objDataReader["Pos_id"]); postagem.DataPostagem = Convert.ToDateTime(objDataReader["Pos_data"]); postagem.Titulo = Convert.ToString(objDataReader["Pos_titulo"]); postagem.Conteudo = Convert.ToString(objDataReader["Pos_conteudo"]); postagem.Usuario.UsuarioId = Convert.ToInt32(objDataReader["col_id"]); postagem.Usuario.Nome = Convert.ToString(objDataReader["col_nome"]); postagem.TipoPostagem.TipoPostagemId = Convert.ToInt32(objDataReader["tip_id"]); postagem.TipoPostagem.Tipo = Convert.ToString(objDataReader["tip_tipo"]); postagem.Comentarios = comentario.SelectAllById(postagem.PostagemId); postagem.Temas = tema.SelectTemasPostagem(postagem.PostagemId); postagem.Usuario.Perfil = null; postagem.Usuario.Postagens = null; postagem.Usuario.Comentarios = null; postagens.Add(postagem); } objConexao.Close(); objConexao.Dispose(); objCommand.Dispose(); return(postagens); } catch (Exception e) { throw new Exception("Ocorreu um erro ao selecionar os dados de postagems."); } }
public DTOPostagem Select(int codigo) { DTOPostagem postagem = null; DALComentario comentario = null; DALTema tema = null; List <DTOComentario> comentarios = new List <DTOComentario>(); IDbConnection objConexao; IDbCommand objComando; IDataReader objDataReader; objConexao = Mapped.Connection(); objComando = Mapped.Command("SELECT * FROM tbl_postagem p INNER JOIN tbl_colunista u ON p.col_id = u.col_id INNER JOIN tbl_tipopostagem tp ON p.tip_id = tp.tip_id WHERE p.pos_id = ?codigo AND p.pos_ativo = true", objConexao); objComando.Parameters.Add(Mapped.Parameter("?codigo", codigo)); objDataReader = objComando.ExecuteReader(); while (objDataReader.Read()) { postagem = new DTOPostagem(); comentario = new DALComentario(); tema = new DALTema(); postagem.PostagemId = Convert.ToInt32(objDataReader["Pos_id"]); postagem.DataPostagem = Convert.ToDateTime(objDataReader["Pos_data"]); postagem.Titulo = Convert.ToString(objDataReader["Pos_titulo"]); postagem.Conteudo = Convert.ToString(objDataReader["Pos_conteudo"]); postagem.Usuario.UsuarioId = Convert.ToInt32(objDataReader["col_id"]); postagem.Usuario.Nome = Convert.ToString(objDataReader["col_nome"]); postagem.TipoPostagem.TipoPostagemId = Convert.ToInt32(objDataReader["tip_id"]); postagem.TipoPostagem.Tipo = Convert.ToString(objDataReader["tip_tipo"]); postagem.Comentarios = comentario.SelectAllById(codigo); postagem.Temas = tema.SelectTemasPostagem(codigo); postagem.Usuario.Perfil = null; postagem.Usuario.Postagens = null; postagem.Usuario.Comentarios = null; } objConexao.Close(); objDataReader.Close(); objComando.Dispose(); objConexao.Dispose(); objDataReader.Dispose(); return(postagem); }