/*
 * 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.Services;

import java.util.ArrayList;
import pe.siso.horario.Beans.Zona;
import pe.siso.horario.DAO.DAOFactory;
import pe.siso.horario.DAO.ZonaDAO;

/**
 *
 * @author sistem02user
 */
public class ZonaServices {
    DAOFactory fabrica = DAOFactory.getDAOFactory(DAOFactory.MYSQL);
    ZonaDAO objZonaDAO= fabrica.getZonaDAO();
    
    public ArrayList<Zona> listarZonas(){
       ArrayList<Zona> lista = new ArrayList<Zona>();
        try {
            lista = objZonaDAO.listarZonas();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return lista;
    }
    
    public int registrarZonas(String nombreZona){
        int dato = 0;
        try {
            dato = objZonaDAO.registrarZonas(nombreZona);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return dato;
    }
    
    public Zona NombreZonas(String codigoZona){
        Zona zona = new Zona();
        try {
            zona = objZonaDAO.NombreZonas(codigoZona);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return zona;
    }
    
    public int actualizarZona(String codigoZona, String nombreZona){
        int dato = 0;
        try {
            dato = objZonaDAO.actualizarZona(codigoZona, nombreZona);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return dato;
    }
    
    public int validarCantidadUsoZona(String codigoZona){
        int dato = 0;
        try {
            dato = objZonaDAO.validarCantidadUsoZona(codigoZona);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return dato;
    }
    
    public void cambiarEstado(String dato, String codigoZona){
         try {
            objZonaDAO.cambiarEstado(dato, codigoZona);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
     public ArrayList<Zona> listarZonasActivas(){
       ArrayList<Zona> lista = new ArrayList<Zona>();
        try {
            lista = objZonaDAO.listarZonasActivas();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return lista;
    }
     
     public int registrarZonaDocente(String codDocente, int codDepartamento, int codProvincia, int codDistrito){
        int dato = 0;
        try {
            dato = objZonaDAO.registrarZonaDocente(codDocente, codDepartamento, codProvincia, codDistrito);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return dato;
     }
     
    public int consultarDocentesAsignadosZona(String codDepartamento, String codProvincia, String codigoDistrito, String codigoZona){
        int cantidad  = 0;
        try {
            cantidad = objZonaDAO.consultarDocentesAsignadosZona(codDepartamento, codProvincia, codigoDistrito, codigoZona);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return cantidad;
    }
    
    public int eliminarDocentesAsignadosZona(String codDepartamento, String codProvincia, String codigoDistrito, String codigoZona){
        int dato  = 0;
        try {
            dato = objZonaDAO.eliminarDocentesAsignadosZona(codDepartamento, codProvincia, codigoDistrito, codigoZona);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return dato;
    }
    
    public int eliminarZonaUbigeo(String codDepartamento, String codProvincia, String codigoDistrito, String codigoZona){
        int dato  = 0;
        try {
            dato = objZonaDAO.eliminarZonaUbigeo(codDepartamento, codProvincia, codigoDistrito, codigoZona);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return dato;
    }
    
    public int cantidadZonaDocente(){
        int cantidad = 0;
        try {
            cantidad = objZonaDAO.cantidadZonaDocente();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return cantidad;
    }
}
