package pe.siso.horario.MySqlDAO;

import java.sql.Connection;
import java.sql.DriverManager;
import pe.siso.horario.DAO.AreaDAO;
import pe.siso.horario.DAO.AreaDocenteDAO;
import pe.siso.horario.DAO.AulaDAO;
import pe.siso.horario.DAO.BloqueDAO;
import pe.siso.horario.DAO.BloqueInicialPrimariaDAO;
import pe.siso.horario.DAO.CategoriaDAO;
import pe.siso.horario.DAO.CentroDAO;
import pe.siso.horario.DAO.ClaseDAO;
import pe.siso.horario.DAO.CursoDAO;
import pe.siso.horario.DAO.DAOFactory;
import pe.siso.horario.DAO.DisponibilidadDocenteDAO;
import pe.siso.horario.DAO.DocenteDAO;
import pe.siso.horario.DAO.GradoDAO;
import pe.siso.horario.DAO.HorarioDAO;
import pe.siso.horario.DAO.MeritoDAO;
import pe.siso.horario.DAO.ModuloDAO;
import pe.siso.horario.DAO.NivelDAO;
import pe.siso.horario.DAO.PeriodoAcademicoDAO;
import pe.siso.horario.DAO.PlanAcademicoDAO;
import pe.siso.horario.DAO.PlanaDAO;
import pe.siso.horario.DAO.PlanaDocenteDAO;
import pe.siso.horario.DAO.ReporteEncuestaDAO;
import pe.siso.horario.DAO.SeccionDAO;
import pe.siso.horario.DAO.SedeDAO;
import pe.siso.horario.DAO.TipoCentroDAO;
import pe.siso.horario.DAO.TipoGradoDAO;
import pe.siso.horario.DAO.TurnoDAO;
import pe.siso.horario.DAO.UbigeoDocenteDAO;
import pe.siso.horario.DAO.UsuarioDAO;
import pe.siso.horario.DAO.UsuarioDocenteDAO;
import pe.siso.horario.DAO.ZonaDAO;
import pe.siso.horario.DAO.ZonaDistritoDAO;
import pe.siso.horario.DAO.ZonaSedeDAO;

public class MySqlDAOFactory extends DAOFactory {

	static {
		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public static void main(String[] args) {
		MySqlDAOFactory.obtenerConexion("horario");
             
	}
        

	public static Connection obtenerConexion(String base) {
		Connection conexion = null;
		if (base.equals("encuentas")) {
			try {

				conexion = DriverManager.getConnection(
//					                        "jdbc:mysql://SERVERPRUEBA:3306/encuesta_docente",
//					                           "desarrollo",
//					                        "5VC02019");
					                        "jdbc:mysql://localhost:3306/encuesta_docente",
					                        "billy",
					                        "billy");
//					//server_winpla
//					"jdbc:mysql://172.16.2.68:3306/encuesta_docente",
//					"sis_horarios",
//					"Sy356ho899");

			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		} else if (base.equals("nuevo")) {

			try {

				conexion = DriverManager.getConnection(
//					                        "jdbc:mysql://SERVERPRUEBA:3306/nuevo",
//					                             "desarrollo",
//					                        "5VC02019");
					                        "jdbc:mysql://localhost:3306/nuevo",
					                        "billy",
					                        "billy");
					//server_winpla
//					"jdbc:mysql://172.16.2.68:3306/nuevo",
//					"sis_horarios",
//					"Sy356ho899");

			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		} else if (base.equals("horario")) {

			try {

				conexion = DriverManager.getConnection(
//										"jdbc:mysql://SERVERPRUEBA:3306/horarios_docente",
//							       "desarrollo",
//					            "5VC02019");
										"jdbc:mysql://localhost:3306/horarios_docente",
										"billy",
										"billy");
                                         //server_winpla
//					"jdbc:mysql://172.16.2.68:3306/horarios_docente",
//					"sis_horarios",
//					"Sy356ho899");

			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		} else if (base.equals("sacoolive3")) {

			try {
				conexion = DriverManager.getConnection(
										"jdbc:mysql://localhost:3306/sacoolive3",
							       "billy",
					           "billy");
//										"jdbc:mysql://SERVERPRUEBA:3306/sacoolive3",
//										"desarrollo",
//										"5VC02019");
					//server_winpla
//					"jdbc:mysql://172.16.2.68:3306/sacoolive3",
//					"sis_horarios",
//					"Sy356ho899");
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		}

		return conexion;
	}

	/*@Override
     public UbigeoDAO getUbigeoDAO() {
     return new MySqlUbigeoDAO();
     }*/
	@Override
	public UsuarioDAO getUsuarioDAO() {
		return new MySqlUsuarioDAO();
	}

	@Override
	public ModuloDAO getModuloDAO() {
		return new MySqlModuloDAO();
	}

	@Override
	public CategoriaDAO getCategoriaDAO() {
		return new MySqlCategoriaDAO();
	}

	@Override
	public AulaDAO getAulaDAO() {
		return new MySqlAulaDAO();
	}

	@Override
	public TipoCentroDAO getTipoCentroDAO() {
		return new MySqlTipoCentroDAO();
	}

	@Override
	public CentroDAO getCentroDAO() {
		return new MySqlCentroDAO();
	}

	@Override
	public NivelDAO getNivelDAO() {
		return new MySqlNivelDAO();
	}

	@Override
	public TipoGradoDAO getTipoGradoDAO() {
		return new MySqlTipoGradoDAO();
	}

	@Override
	public GradoDAO getGradoDAO() {
		return new MySqlGradoDAO();
	}

	@Override
	public SeccionDAO getSeccionDAO() {
		return new MySqlSeccionDAO();
	}

	@Override
	public SedeDAO getSedeDAO() {
		return new MySqlSedeDAO();
	}

	@Override
	public TurnoDAO getTurnoDAO() {
		return new MySqlTurnoDAO();
	}

	@Override
	public AreaDAO getAreaDAO() {
		return new MySqlAreaDAO();

	}

	@Override
	public PlanaDAO getPlanaDAO() {
		return new MySqlPlanaDAO();
	}

	@Override
	public CursoDAO getCursoDAO() {
		return new MySqlCursoDAO();
	}

	@Override
	public DocenteDAO getDocenteDAO() {
		return new MySqlDocenteDAO();
	}

	@Override
	public BloqueDAO getBloqueDAO() {
		return new MySqlBloqueDAO();
	}

	@Override
	public AreaDocenteDAO getAreaDocenteDAO() {
		return new MySqlAreaDocenteDAO();
	}

	@Override
	public HorarioDAO getHorarioDAO() {
		return new MySqlHorarioDAO();
	}

	@Override
	public DisponibilidadDocenteDAO getDisponibilidadDAO() {
		return new MySqlDisponibilidadDAO();
	}

	@Override
	public BloqueInicialPrimariaDAO getBloqueInicialPrimariaDAO() {
		return new MySqlBloquePriIniDAO();
	}

	@Override
	public UsuarioDocenteDAO getUsuarioDocenteDAO() {
		return new MySqlUsuarioDocenteDAO();
	}

	@Override
	public UbigeoDocenteDAO getUbigeoDocenteDAO() {
		return new MySqlUbigeoDocenteDAO();
	}

	@Override
	public PeriodoAcademicoDAO getPeriodoAcademicoDAO() {
		return new MySqlPeriodoAcademicoDAO();
	}

	@Override
	public ClaseDAO getClaseDAO() {
		return new MySqlClaseDAO();
	}

	@Override
	public ReporteEncuestaDAO getReporteEncuestaDAO() {
		return new MySqlReporteEncuestaDAO();
	}

	@Override
	public ZonaDAO getZonaDAO() {
		return new MysqlZonaDAO();
	}

	@Override
	public ZonaSedeDAO getZonaSedeDAO() {
		return new MySqlZonaSedeDAO();
	}

	@Override
	public ZonaDistritoDAO getZonaDistritoDAO() {
		return new MySqlZonaDistritoDAO();
	}

	@Override
	public MeritoDAO getMeritoDAO() {
		return new MySqlMeritoDAO();
	}

	@Override
	public PlanaDocenteDAO getPlanaDocenteDAO() {
		return new MySqlPlanaDocenteDAO();
	}

	@Override
	public PlanAcademicoDAO getPlanAcademicoDAO() {
		return new MySqlPlanAcademicoDAO();
	}


}
