<?php

class ColaboradorSystemClass {

  private $o_ParamBean;
  
  public function __construct($o_ParamBean){
    $this->o_ParamBean = $o_ParamBean;
  }
  
  private function getObjParamBean(){
    return $this->o_ParamBean;
  }
  
  public function insertColaborador(){
    
    $o_ColaboradorBL = new ColaboradorBL();
    return $o_ColaboradorBL->insertarColaborador($this->getObjParamBean());
    
  }
  
  public function insertUsuario($o_UsuarioBean){
    $o_UsuarioBL = new UsuarioBL();
    $o_UsuarioBL->insertarUsuario($o_UsuarioBean);
  }
 public function actualizarUser($o_UsuarioBean){
   
    $o_UsuarioBL = new UsuarioBL();
    return $o_UsuarioBL->modificarUsuario($o_UsuarioBean);
    
  }
  
  public function eliminarColaborador(){
    
    $o_ColaboradorBL = new ColaboradorBL();
    return $o_ColaboradorBL->eliminarColaborador($this->getObjParamBean());
    
  }
  
  public function actualizarColaborador(){
    
    $o_ColaboradorBL = new ColaboradorBL();
    return $o_ColaboradorBL->modificarColaborador($this->getObjParamBean());
    
  }
  
  public function getTipoColaborador(){
  
    $o_TipoColaboradorBL = new TipoColaboradorBL();
    return $o_TipoColaboradorBL->busquedaColaborador($this->getObjParamBean());
  
  }
  
  public function getColaborador(){
  
    $o_ColaboradorBL = new ColaboradorBL();
    return $o_ColaboradorBL->getColaborador($this->getObjParamBean());
  
  }
  
  public function getTipoColaboradorRol(){
    $o_TipoColaboradorRolBL = new TipoColaboradorRolBL();
    $a_o_TipoColaboradorRolBL = $o_TipoColaboradorRolBL->busquedaTipoColaboradorRol(new TipoColaboradorRolBean());
    
    if(is_array($a_o_TipoColaboradorRolBL)){
    	while (list($key,$o_TipoColaborador) = each($a_o_TipoColaboradorRolBL)) {
    		if($o_TipoColaborador->getIdRol() == myUser::getUser()->getRoleId()){
    			$idPermitidos = $o_TipoColaborador->getInsertTipoColaborador();
    			break;
    		}
    	}
    }
    if($idPermitidos){
    	$a_IdTipoColaboradorePermitido = explode(',',$idPermitidos);
    	reset($a_o_TipoColaboradorRolBL);
    	while(list($key,$o_TipoColaborador) = each($a_o_TipoColaboradorRolBL)){
    		if(in_array($o_TipoColaborador->getIdTipoColaborador(),$a_IdTipoColaboradorePermitido)){
    			$a_o_TipoColaborador[] = $o_TipoColaborador;
    		}
    	}
    }
    return $a_o_TipoColaborador;
  }
  
  public function getTipoColaboradorRolAll(){
     $o_TipoColaboradorRolBL = new TipoColaboradorRolBL();
     return $a_o_TipoColaboradorRolBL = $o_TipoColaboradorRolBL->busquedaTipoColaboradorRol(new TipoColaboradorRolBean());
  }
  public function getFacultad(){
    
    $o_FacultadBL = new FacultadBL();
    return $o_FacultadBL->getFacultad($this->getObjParamBean());
  }
  
  public function getEspecialidad(){
    
    $o_EspecialidadBL = new EspecialidadBL();
    return $o_EspecialidadBL->getEspecialidad($this->getObjParamBean());
  }
  

}