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 void inserir(Aporte dto) throws Exception {
        Connection conexao = getConexao();
        
        if (dto.getAporte().equals("")){
            throw new Exception("O arquivo do artigo não pode estar vazio!");
        }
        
        PreparedStatement pstmt = conexao.prepareStatement("insert into aporte(titulo) values (?)", Statement.RETURN_GENERATED_KEYS);
        
        pstmt.setString(1, dto.getTitulo());
        pstmt.setInt(2, dto.getCategoria().getId());
        pstmt.setInt(3, dto.getPostagem().getId());
        
        pstmt.executeUpdate();
        
        dto.setId(getId(pstmt));     
    }
    
    @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.
    }

    
}

@@ -76,16 +76,60 @@
 Aporte;%0A
+import br.com.redesocial.modelo.dto.Artigo;%0A
 import j
@@ -148,16 +148,16 @@
 ection;%0A
-
 import j
@@ -210,16 +210,43 @@
 ultSet;%0A
+import java.sql.Statement;%0A
 import j
@@ -385,213 +385,10 @@
   %7B%0A
+
   
-  %0A/**%0A* M%C3%A9todo que lista todos os aportes do banco de dados%0A* @author Paulo Henrique Araujo%0A* @return lista de aportes ordenados pelo t%C3%ADtulo%0A* @throws Exception poss%C3%ADveis exce%C3%A7%C3%B5es que podem acontecer%0A*/
 %0A   

Update AporteDAO.java