/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package pe.siso.horario.MySqlDAO;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import pe.siso.horario.Beans.Sede;
import pe.siso.horario.DAO.SedeDAO;

/**
 *
 * @author fcelestino
 */
public class MySqlSedeDAO implements SedeDAO {

    @Override
    public ArrayList<Sede> listarSedes() throws Exception {
        ArrayList<Sede> lista = new ArrayList<Sede>();
        String base = "horario";
        Connection cnx = null;
        try {
            cnx = MySqlDAOFactory.obtenerConexion(base);
            Statement st = cnx.createStatement();

            String query = "SELECT cod_loc,des_loc,est_loc FROM sede WHERE est_loc='1' ORDER BY des_loc";

            ResultSet rs = st.executeQuery(query);

            while (rs.next()) {
                Sede sede = new Sede();
                sede.setCodigoSede(rs.getInt("cod_loc"));
                sede.setNombreSede(rs.getString("des_loc"));
                sede.setEstadoSede(rs.getInt("est_loc"));
                lista.add(sede);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            cnx.close();
        }
        return lista;
    }

    @Override
    public ArrayList<Sede> listarSedesDirage() throws Exception {
        ArrayList<Sede> lista = new ArrayList<Sede>();
        String base = "horario";
        Connection cnx = null;
        try {
            cnx = MySqlDAOFactory.obtenerConexion(base);
            Statement st = cnx.createStatement();

            String query = "SELECT cod_loc,des_loc,est_loc FROM sede WHERE est_loc='1' and cod_loc!='40' ORDER BY des_loc";

            ResultSet rs = st.executeQuery(query);

            while (rs.next()) {
                Sede sede = new Sede();
                sede.setCodigoSede(rs.getInt("cod_loc"));
                sede.setNombreSede(rs.getString("des_loc"));
                sede.setEstadoSede(rs.getInt("est_loc"));
                lista.add(sede);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            cnx.close();
        }
        return lista;
    }

    @Override
    public ArrayList<Sede> listarSedeAulas() throws Exception {
        ArrayList<Sede> lista = new ArrayList<Sede>();
        String base = "horario";
        Connection cnx = null;
        try {
            cnx = MySqlDAOFactory.obtenerConexion(base);
            Statement st = cnx.createStatement();

            String query = "SELECT cod_loc,des_loc,est_loc FROM sede WHERE est_loc='1' and cod_loc!='40' ORDER BY des_loc";

            ResultSet rs = st.executeQuery(query);

            while (rs.next()) {
                Sede sede = new Sede();
                sede.setCodigoSede(rs.getInt("cod_loc"));
                sede.setNombreSede(rs.getString("des_loc"));
                sede.setEstadoSede(rs.getInt("est_loc"));
                lista.add(sede);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            cnx.close();
        }
        return lista;
    }

}
