<?php

/**
* Clase Dispacher para SucursalMercado
*
* @package IM
* @subpackage SucursalMercadoDP
* @author Willy
* @version SVN: : SucursalMercadoDP.class.php,v 1.1 2009/06/09 15:08:14 Exp $
*/
class SucursalMercadoDP implements interfaceDP {

  protected $o_Bean;

  /**
  * Constructor donde asigna a un atributo el objeto SucursalMercadoBean
  *
  * @param SucursalMercadoBean $o_SucursalMercadoBean
  */
  public function __construct(SucursalMercadoBean $o_SucursalMercadoBean){
  
    $this->o_Bean = $o_SucursalMercadoBean;
    
  }
  
  /**
  * Retorna el objeto SucursalMercadoBean
  *
  * @return Object
  */
  protected function getObjetoBean(){
  
    if(!$this->o_Bean){
        $this->o_Bean = new SucursalMercadoBean();
    }        
    return $this->o_Bean;
    
  }
  
  /**
  * Ingresa un nuevo registro
  *
  * @return IdGenerado
  */
  
  public function save(){

    
   if($this->getObjetoBean()->getIdSucursal()){

      $a_Fields = array();

      if($this->getObjetoBean()->getIdSucursal()) : $a_Fields['IdSucursal'] = ($this->getObjetoBean()->getIdSucursal()); endif;
      if($this->getObjetoBean()->getIdMercado()) : $a_Fields['IdMercado'] = ($this->getObjetoBean()->getIdMercado()); endif;
      if($this->getObjetoBean()->getFechaAsignacion()) : $a_Fields['FechaAsignacion'] = ($this->getObjetoBean()->getFechaAsignacion()); endif;
      if($this->getObjetoBean()->getUsuarioAsignacion()) : $a_Fields['UsuarioAsignacion'] = ($this->getObjetoBean()->getUsuarioAsignacion()); endif;
      
      
      $sStringField = arrayClass::implode_keys(',', $a_Fields);
      $sStringValue = "'".implode("','", $a_Fields)."'";
        
      $con = Conexion::getConexion();
      $sql = "INSERT INTO cr_sucursal_mercado  (".$sStringField.")
                      VALUES (".$sStringValue.");";
      //echo $sql;
      $result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
      mysql_close($con);

      $iResultSave = $result;
      if($iResultSave > 0){
        return $iResultSave;
      }else{
        return false;
      }

    }else{
      return false;
    }
  }

  /**
  * Modifica un nuevo registro
  *
  * @return IdGenerado
  */
  
  public function update() {

     if($this->getObjetoBean()->getIdSucursal()){
      
      if($this->getObjetoBean()->getIdSucursal()) : $a_Fields['IdSucursal'] = ($this->getObjetoBean()->getIdSucursal()); endif;
      if($this->getObjetoBean()->getIdMercado()) : $a_Fields['IdMercado'] = ($this->getObjetoBean()->getIdMercado()); endif;
      if($this->getObjetoBean()->getFechaAsignacion()) : $a_Fields['FechaAsignacion'] = ($this->getObjetoBean()->getFechaAsignacion()); endif;
      if($this->getObjetoBean()->getUsuarioAsignacion()) : $a_Fields['UsuarioAsignacion'] = ($this->getObjetoBean()->getUsuarioAsignacion()); endif;
      
      $sString = arrayClass::implode_key_value(",", $a_Fields);
      $con = Conexion::getConexion();
       
      $sql = "UPDATE  cr_sucursal_mercado SET
                  ".$sString."
              WHERE 1 AND IdSucursal = '".$this->getObjetoBean()->getIdSucursal()."' 
            		AND IdMercado = '".$this->getObjetoBean()->getIdMercado()."' ";
      $result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
      mysql_close($con);

      $iResultSave = $result;
      if($iResultSave > 0){
        return $iResultSave;
      }else{
        return false;
      }

    }else{
      return false;
    }

  }
  
  public function updateCS() {

     if($this->getObjetoBean()->getIdSucursal()){
      
      if($this->getObjetoBean()->getIdSucursalFin()) : $a_Fields['IdSucursal'] = ($this->getObjetoBean()->getIdSucursalFin()); endif;
      if($this->getObjetoBean()->getIdMercado()) : $a_Fields['IdMercado'] = ($this->getObjetoBean()->getIdMercado()); endif;
      if($this->getObjetoBean()->getFechaAsignacion()) : $a_Fields['FechaAsignacion'] = ($this->getObjetoBean()->getFechaAsignacion()); endif;
      if($this->getObjetoBean()->getUsuarioAsignacion()) : $a_Fields['UsuarioAsignacion'] = ($this->getObjetoBean()->getUsuarioAsignacion()); endif;
      
      $sString = arrayClass::implode_key_value(",", $a_Fields);
      $con = Conexion::getConexion();
       
      $sql = "UPDATE  cr_sucursal_mercado SET
                  ".$sString."
              WHERE 1 AND IdSucursal = '".$this->getObjetoBean()->getIdSucursal()."' 
            		AND IdMercado = '".$this->getObjetoBean()->getIdMercado()."' ";
      $result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
      mysql_close($con);

      $iResultSave = $result;
      if($iResultSave > 0){
        return $iResultSave;
      }else{
        return false;
      }

    }else{
      return false;
    }

  }
  
  /**
  * Elimina registro
  *
  * @return Boolean
  */
  
  public function delete(){
     $where = "";
    
    if($this->getObjetoBean()->getIdSucursal()){
       $where .= " AND IdSucursal = '".$this->getObjetoBean()->getIdSucursal()."'";
    }
    
    if($this->getObjetoBean()->getIdMercado()){
       $where .= " AND IdMercado = '".$this->getObjetoBean()->getIdMercado()."'";
    }
       
    
    $con = Conexion::getConexion();
    $sql = "DELETE FROM   cr_sucursal_mercado WHERE 1 ".$where;
    $result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
    mysql_close($con);

    $iResultSave = $result;
    if($iResultSave > 0){
      return $iResultSave;
    }else{
      return false;
    }
  }
  
  /**
  * Selecciona un nuevo registro
  *
  * @return IdGenerado
  */
  public function select(){
      
    $where = "";
    
    if($this->getObjetoBean()->getIdSucursal()){
       $where .= " AND IdSucursal = '".$this->getObjetoBean()->getIdSucursal()."'";
    } if($this->getObjetoBean()->getIdMercado()){
       $where .= " AND IdMercado = '".$this->getObjetoBean()->getIdMercado()."'";
    }
    
    $con = Conexion::getConexion();
    $sql = "SELECT * FROM cr_sucursal_mercado WHERE 1 ".$where;
    //echo $sql;
    $result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
    
    $num_rows = mysql_num_rows($result);
      
    $a_tmp = array();

    if($num_rows>0){
      while ($o_valor = mysql_fetch_object($result)) {
      $a_tmp[] = $this->insertarObjetoBean($o_valor);
      }
    }

    mysql_close($con);
   
    return count($a_tmp)>0?$a_tmp:null;
      
  }
  
  /**
  * Retorna un objeto SucursalMercadoBean
  *
  * @return Object
  */
  public function selectByPk(){
  
    $con = Conexion::getConexion();
    $sql = "SELECT * FROM cr_sucursal_mercado WHERE 1 AND IdSucursal = '".$this->getObjetoBean()->getIdSucursal()."' AND IdMercado = '".$this->getObjetoBean()->getIdMercado()."'";
    $result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
    $num_rows = mysql_num_rows($result);
    mysql_close($con);
 
    $a_tmp = array();   
     
    if($num_rows>0){
      while ($o_valor = mysql_fetch_object($result)) {
      $a_tmp[] = $this->insertarObjetoBean($o_valor);
      }
    }
   
    return count($a_tmp)>0?$a_tmp:null;
  
  }
  
  
   /**
  * Reasigna valores retornados del propel a un objeto SucursalMercadoBean
  *
  * @param Object $o_Propel
  * @return SucursalMercadoBean
  */
   
  private function insertarObjetoBean($o_Propel){

    $o_SucursalMercadoBean = new SucursalMercadoBean();
    
    $o_SucursalMercadoBean->setIdSucursal($o_Propel->IdSucursal);
    $o_SucursalMercadoBean->setIdMercado($o_Propel->IdMercado);
    $o_SucursalMercadoBean->setFechaAsignacion($o_Propel->FechaAsignacion);
    $o_SucursalMercadoBean->setUsuarioAsignacion($o_Propel->UsuarioAsignacion);
         
    return $o_SucursalMercadoBean;    
    
  }
    
}

