package br.com.ftt.bettaserver.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.LinkedList;
import java.util.List;
import br.com.ftt.bettaserver.database.util.DataBaseUtil;
import br.com.ftt.bettaserver.form.IdiomasFilmes;
public class IdiomaDAO
{
public boolean existeIdioma( String nome, String codigo )
{
Connection con = null ;
PreparedStatement pstmt = null ;
ResultSet rs = null ;
String sql = "select id from idiomas_filmes where LOWER(nome) = ? or LOWER(codigo) = ?" ;
try
{
con = DataBaseUtil.getConnection( ) ;
pstmt = con.prepareStatement( sql ) ;
{
pstmt.setString( 1, nome.toLowerCase( ) ) ;
pstmt.setString( 2, codigo.toLowerCase( ) ) ;
}
rs = pstmt.executeQuery( ) ;
return rs.next( ) ;
}
catch( SQLException e )
{
e.printStackTrace( ) ;
}
return false ;
}
public boolean cadastrarNovoIdioma( IdiomasFilmes idioma )
{
Connection con = null ;
PreparedStatement pstmt = null;
String sql = "insert into idiomas_filmes ( nome, codigo ) values ( ?, ? )";
try
{
con = DataBaseUtil.getConnection( );
con.setAutoCommit( false );
pstmt = con.prepareStatement( sql );
{
pstmt.setString( 1, idioma.getNome( ) );
pstmt.setString( 2, idioma.getCodigo( ) );
}
pstmt.executeUpdate( );
con.commit( );
}
catch( SQLException e )
{
e.printStackTrace( ) ;
try
{
if( con != null )
{
con.rollback( ) ;
}
}
catch( SQLException e1 )
{
e1.printStackTrace( ) ;
}
}
finally
{
DataBaseUtil.close( con, pstmt, null );
}
return true ;
}
public List<IdiomasFilmes> buscaTodosIdiomas( )
{
List<IdiomasFilmes> idiomas = null ;
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null ;
String sql = "select id, nome, codigo from idiomas_filmes order by nome";
try
{
con = DataBaseUtil.getConnection( ) ;
pstmt = con.prepareStatement( sql );
rs = pstmt.executeQuery( );
if( rs.next( ) )
{
idiomas = new LinkedList<IdiomasFilmes>( );
do
{
IdiomasFilmes idioma = new IdiomasFilmes( ) ;
idioma.setId( rs.getInt( "id" ) ) ;
idioma.setNome( rs.getString( "nome" ) ) ;
idioma.setCodigo( rs.getString( "codigo" ) ) ;
idiomas.add( idioma ) ;
}
while( rs.next( ) ) ;
}
}
catch( SQLException e )
{
e.printStackTrace( );
}
finally
{
DataBaseUtil.close( con, pstmt, rs ) ;
}
return idiomas;
}
public boolean excluirIdioma( int id )
{
Connection con = null;
PreparedStatement pstmt = null;
String sql = "delete from idiomas_filmes where id = ?" ;
try
{
con = DataBaseUtil.getConnection( ) ;
con.setAutoCommit( false ) ;
pstmt = con.prepareStatement( sql ) ;
{
pstmt.setInt( 1, id ) ;
}
pstmt.executeUpdate( );
con.commit( ) ;
return true ;
}
catch( SQLException e )
{
if( con != null )
{
try
{
con.rollback( );
}
catch ( SQLException e1 )
{
e1.printStackTrace();
}
}
e.printStackTrace( ) ;
return false ;
}
finally
{
DataBaseUtil.close( con, pstmt, null );
}
}
}