package br.com.redesocial.modelo.dao;

import br.com.redesocial.modelo.dto.Aporte;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Paulo Henrique
 */

public class AporteDAO extends DAOCRUDBase<Aporte>  {
    
/**
* Método que lista todos os aportes do banco de dados
* @author Paulo Henrique Araujo
* @return lista de aportes ordenados pelo título
* @throws Exception possíveis exceções que podem acontecer
*/
    @Override
     public List listar() throws Exception {
        Connection conexao = getConexao();
        
        PreparedStatement  pstmt; 
        pstmt = conexao.prepareStatement("select * from aportes order by titulo asc");
                
        ResultSet rs;
        rs = pstmt.executeQuery();
        
        PostagemDAO postagemDAO = new PostagemDAO();
        CategoriaDAO categoriaDAO = new CategoriaDAO();
        List lista;
        lista = new ArrayList();
        
        while (rs.next()){
            Aporte a = new Aporte();
            a.setId(rs.getInt("id"));
            a.setCategoria(categoriaDAO.selecionar(rs.getInt("categoria")));//classe  CategoriaDAO ainda não implementada
            a.setPostagem(postagemDAO.selecionar(rs.getInt("postagem")));
            a.setTitulo(rs.getString("titulo"));
          
            lista.add(a);
        }
        
        return lista;
    }

    @Override
    public void inserir(Aporte dto) throws Exception {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public void alterar(Aporte dto) throws Exception {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public Aporte selecionar(int id) throws Exception {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public void excluir(int id) throws Exception {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    
}

@@ -526,24 +526,674 @@
   @Override%0A
+    public void inserir(Aporte dto) throws Exception %7B%0A        Connection conexao = getConexao();%0A        %0A        if (dto.getAporte().equals(%22%22))%7B%0A            throw new Exception(%22O arquivo do artigo n%C3%A3o pode estar vazio!%22);%0A        %7D%0A        %0A        PreparedStatement pstmt = conexao.prepareStatement(%22insert into aporte(titulo) values (?)%22, Statement.RETURN_GENERATED_KEYS);%0A        %0A        pstmt.setString(1, dto.getTitulo());%0A        pstmt.setInt(2, dto.getCategoria().getId());%0A        pstmt.setInt(3, dto.getPostagem().getId());%0A        %0A        pstmt.executeUpdate();%0A        %0A        dto.setId(getId(pstmt));     %0A    %7D%0A    %0A    @Override%0A
      public 

Update AporteDAO.java