<?php
/**
 * Clase ClienteBL
 *
 * @package    
 * @subpackage 
 * @author     ClienteBL
 * @version    SVN: $Id: ClienteBL.class.php,v 1.1 2008/02/08 21:56:44 william.taype Exp $ 
 */
class ClienteBL{
    
  /**
  * 
  *
  * @param $o_ClienteBean, objeto de tipo Cliente 
  * @return Boolean
  */
  public function busquedaCliente(ClienteBean $o_ClienteBean){
    
    $o_ClienteDP = new ClienteDP($o_ClienteBean);
    if($o_ClienteBean->getIdCliente()){
      return $o_ClienteDP->selectByPk();
    }else{
      return $o_ClienteDP->select();
    }
    
  }
  
  public function busquedaClienteResulset(ClienteBean $o_ClienteBean){
    
    $o_ClienteDP = new ClienteDP($o_ClienteBean);
    return $o_ClienteDP->selectResultset();
        
  }
  
  public function insertarCliente(ClienteBean $o_ClienteBean){
    
    $o_ClienteCT = new ClienteCT();
    return $o_ClienteCT->guardar($o_ClienteBean);
    
  }
  public function modificarCliente(ClienteBean $o_ClienteBean){
      $o_ClienteCT = new ClienteCT();
      return $o_ClienteCT->modificar($o_ClienteBean);
  } 
  
  public function TienePrestamo(ClienteBean $o_ClienteBean){
      $o_ClienteCT = new ClienteCT();
      return $o_ClienteCT->tienePrestamo($o_ClienteBean);
  }
  
  /**
	* Función que retorna un objeto Cliente o una lista de Objetos de Cliente,
	* dependiendo del parametro que se le envia si este contiene o no el Id de Cliente
	*
	* @param $o_ClienteBean, es un objeto de tipo Cliente
	* @return Object
	*/
	public function modificarEstadoCliente(ClienteBean $o_ClienteBean){
	  
	}
  
  public function eliminarCliente(ClienteBean $o_ClienteBean){
    $o_ClienteCT = new ClienteCT();
    return $o_ClienteCT->eliminar($o_ClienteBean);
    
  }
  
  public function getCountResult(ClienteBean $o_ClienteBean){
    $o_ClienteCT = new ClienteCT();
    return $o_ClienteCT->totalRegistros($o_ClienteBean);
  }
  
}

