<?php
/* Autor...:  */
/* Esquema.: MST_CuentaBancaria.xml */
/* Generado: 2021-03-04 14:43:30 */

/* Metodos de acceso a los campos de la tabla MST_CuentaBancaria */
abstract class BaseMST_CuentaBancariaBN
{
    /* Campos de la tabla */
    private $i_IdCuenta;    // IdCuenta: ( no definido )
    private $i_IdBanco;    // IdBanco: ( no definido )
    private $s_NumeroCuenta;    // NumeroCuenta: ( no definido )
    private $s_NumeroCuentaCCI;    // NumeroCuentaCCI: ( no definido )
    private $s_IdMoneda;    // IdMoneda: ( no definido )
    private $s_NombreMoneda;    // NombreMoneda: ( no definido )
    private $i_FlagDetraccion;    // FlagDetraccion: ( no definido )
    private $s_IdUbigeo;    // IdUbigeo: ( no definido )
    private $s_NombreSucursal;    // NombreSucursal: ( no definido )
    private $s_DescripcionCuenta;    // DescripcionCuenta: ( no definido )
    private $s_NumeroCuentaCorto;    // NumeroCuentaCorto: ( no definido )
    private $s_CodigoSunat;    // CodigoSunat: ( no definido )
    private $i_FlagMostrarCuenta;    // FlagMostrarCuenta: ( no definido )
    private $s_Estado;    // Estado: ( no definido )
    private $d_FechaCreacion;    // FechaCreacion: ( no definido )
    private $s_UsuarioCreacion;    // UsuarioCreacion: ( no definido )
    private $d_FechaModificacion;    // FechaModificacion: ( no definido )
    private $s_UsuarioModificacion;    // UsuarioModificacion: ( no definido )

    /* Establece el valor del campo IdCuenta */
    public function setIdCuenta( $i_IdCuenta )
    {
        $this->i_IdCuenta = $i_IdCuenta;
    }

    /* Obtiene el valor del campo IdCuenta */
    public function getIdCuenta()
    {
        return $this->i_IdCuenta;
    }

    /* Establece el valor del campo IdBanco */
    public function setIdBanco( $i_IdBanco )
    {
        $this->i_IdBanco = $i_IdBanco;
    }

    /* Obtiene el valor del campo IdBanco */
    public function getIdBanco()
    {
        return $this->i_IdBanco;
    }

    /* Establece el valor del campo NumeroCuenta */
    public function setNumeroCuenta( $s_NumeroCuenta )
    {
        $this->s_NumeroCuenta = $s_NumeroCuenta;
    }

    /* Obtiene el valor del campo NumeroCuenta */
    public function getNumeroCuenta()
    {
        return $this->s_NumeroCuenta;
    }

    /* Establece el valor del campo NumeroCuentaCCI */
    public function setNumeroCuentaCCI( $s_NumeroCuentaCCI )
    {
        $this->s_NumeroCuentaCCI = $s_NumeroCuentaCCI;
    }

    /* Obtiene el valor del campo NumeroCuentaCCI */
    public function getNumeroCuentaCCI()
    {
        return $this->s_NumeroCuentaCCI;
    }

    /* Establece el valor del campo IdMoneda */
    public function setIdMoneda( $s_IdMoneda )
    {
        $this->s_IdMoneda = $s_IdMoneda;
    }

    /* Obtiene el valor del campo IdMoneda */
    public function getIdMoneda()
    {
        return $this->s_IdMoneda;
    }

    /* Establece el valor del campo NombreMoneda */
    public function setNombreMoneda( $s_NombreMoneda )
    {
        $this->s_NombreMoneda = $s_NombreMoneda;
    }

    /* Obtiene el valor del campo NombreMoneda */
    public function getNombreMoneda()
    {
        return $this->s_NombreMoneda;
    }

    /* Establece el valor del campo FlagDetraccion */
    public function setFlagDetraccion( $i_FlagDetraccion )
    {
        $this->i_FlagDetraccion = $i_FlagDetraccion;
    }

    /* Obtiene el valor del campo FlagDetraccion */
    public function getFlagDetraccion()
    {
        return $this->i_FlagDetraccion;
    }

    /* Establece el valor del campo IdUbigeo */
    public function setIdUbigeo( $s_IdUbigeo )
    {
        $this->s_IdUbigeo = $s_IdUbigeo;
    }

    /* Obtiene el valor del campo IdUbigeo */
    public function getIdUbigeo()
    {
        return $this->s_IdUbigeo;
    }

    /* Establece el valor del campo NombreSucursal */
    public function setNombreSucursal( $s_NombreSucursal )
    {
        $this->s_NombreSucursal = $s_NombreSucursal;
    }

    /* Obtiene el valor del campo NombreSucursal */
    public function getNombreSucursal()
    {
        return $this->s_NombreSucursal;
    }

    /* Establece el valor del campo DescripcionCuenta */
    public function setDescripcionCuenta( $s_DescripcionCuenta )
    {
        $this->s_DescripcionCuenta = $s_DescripcionCuenta;
    }

    /* Obtiene el valor del campo DescripcionCuenta */
    public function getDescripcionCuenta()
    {
        return $this->s_DescripcionCuenta;
    }

    /* Establece el valor del campo NumeroCuentaCorto */
    public function setNumeroCuentaCorto( $s_NumeroCuentaCorto )
    {
        $this->s_NumeroCuentaCorto = $s_NumeroCuentaCorto;
    }

    /* Obtiene el valor del campo NumeroCuentaCorto */
    public function getNumeroCuentaCorto()
    {
        return $this->s_NumeroCuentaCorto;
    }

    /* Establece el valor del campo CodigoSunat */
    public function setCodigoSunat( $s_CodigoSunat )
    {
        $this->s_CodigoSunat = $s_CodigoSunat;
    }

    /* Obtiene el valor del campo CodigoSunat */
    public function getCodigoSunat()
    {
        return $this->s_CodigoSunat;
    }

    /* Establece el valor del campo FlagMostrarCuenta */
    public function setFlagMostrarCuenta( $i_FlagMostrarCuenta )
    {
        $this->i_FlagMostrarCuenta = $i_FlagMostrarCuenta;
    }

    /* Obtiene el valor del campo FlagMostrarCuenta */
    public function getFlagMostrarCuenta()
    {
        return $this->i_FlagMostrarCuenta;
    }

    /* Establece el valor del campo Estado */
    public function setEstado( $s_Estado )
    {
        $this->s_Estado = $s_Estado;
    }

    /* Obtiene el valor del campo Estado */
    public function getEstado()
    {
        return $this->s_Estado;
    }

    /* Establece el valor del campo FechaCreacion */
    public function setFechaCreacion( $d_FechaCreacion )
    {
        $this->d_FechaCreacion = $d_FechaCreacion;
    }

    /* Obtiene el valor del campo FechaCreacion */
    public function getFechaCreacion()
    {
        return $this->d_FechaCreacion;
    }

    /* Establece el valor del campo UsuarioCreacion */
    public function setUsuarioCreacion( $s_UsuarioCreacion )
    {
        $this->s_UsuarioCreacion = $s_UsuarioCreacion;
    }

    /* Obtiene el valor del campo UsuarioCreacion */
    public function getUsuarioCreacion()
    {
        return $this->s_UsuarioCreacion;
    }

    /* Establece el valor del campo FechaModificacion */
    public function setFechaModificacion( $d_FechaModificacion )
    {
        $this->d_FechaModificacion = $d_FechaModificacion;
    }

    /* Obtiene el valor del campo FechaModificacion */
    public function getFechaModificacion()
    {
        return $this->d_FechaModificacion;
    }

    /* Establece el valor del campo UsuarioModificacion */
    public function setUsuarioModificacion( $s_UsuarioModificacion )
    {
        $this->s_UsuarioModificacion = $s_UsuarioModificacion;
    }

    /* Obtiene el valor del campo UsuarioModificacion */
    public function getUsuarioModificacion()
    {
        return $this->s_UsuarioModificacion;
    }

    public function getJsonSerialize()
    {
        return 
        [
            'IdCuenta' => $this->getIdCuenta(),
            'IdBanco' => $this->getIdBanco(),
            'NumeroCuenta' => $this->getNumeroCuenta(),
            'NumeroCuentaCCI' => $this->getNumeroCuentaCCI(),
            'IdMoneda' => $this->getIdMoneda(),
            'NombreMoneda' => $this->getNombreMoneda(),
            'FlagDetraccion' => $this->getFlagDetraccion(),
            'IdUbigeo' => $this->getIdUbigeo(),
            'NombreSucursal' => $this->getNombreSucursal(),
            'DescripcionCuenta' => $this->getDescripcionCuenta(),
            'NumeroCuentaCorto' => $this->getNumeroCuentaCorto(),
            'CodigoSunat' => $this->getCodigoSunat(),
            'FlagMostrarCuenta' => $this->getFlagMostrarCuenta(),
            'Estado' => $this->getEstado(),
            'FechaCreacion' => $this->getFechaCreacion(),
            'UsuarioCreacion' => $this->getUsuarioCreacion(),
            'FechaModificacion' => $this->getFechaModificacion(),
            'UsuarioModificacion' => $this->getUsuarioModificacion(),
        ];
    }

    public function toArray()
    {
        return $this->processArray( get_object_vars( $this ) ); 
    }

    private function processArray( $array )
    {
        foreach( $array as $key => $value ) 
        {
            if ( is_object( $value ) )
            {
                $array[$key] = $value->toArray();
            }
            if ( is_array( $value ) ) 
            {
                $array[$key] = $this->processArray( $value );
            }
        }
        return $array;
    }

    public function __toString()
    {
        return json_encode( $this->toArray() ); 
    }

    /* Recupera un objeto MST_CuentaBancariaBN desde un RecordSet */
    public static function retrieveByRs( $o_MST_CuentaBancariaRs )
    {
        $o_MST_CuentaBancariaBN = new MST_CuentaBancariaBN();
        $o_MST_CuentaBancariaBN->setIdCuenta( ( integer ) $o_MST_CuentaBancariaRs[ "IdCuenta" ] );
        $o_MST_CuentaBancariaBN->setIdBanco( ( integer ) $o_MST_CuentaBancariaRs[ "IdBanco" ] );
        $o_MST_CuentaBancariaBN->setNumeroCuenta( $o_MST_CuentaBancariaRs[ "NumeroCuenta" ] );
        $o_MST_CuentaBancariaBN->setNumeroCuentaCCI( $o_MST_CuentaBancariaRs[ "NumeroCuentaCCI" ] );
        $o_MST_CuentaBancariaBN->setIdMoneda( $o_MST_CuentaBancariaRs[ "IdMoneda" ] );
        $o_MST_CuentaBancariaBN->setNombreMoneda( $o_MST_CuentaBancariaRs[ "NombreMoneda" ] );
        $o_MST_CuentaBancariaBN->setFlagDetraccion( ( integer ) $o_MST_CuentaBancariaRs[ "FlagDetraccion" ] );
        $o_MST_CuentaBancariaBN->setIdUbigeo( $o_MST_CuentaBancariaRs[ "IdUbigeo" ] );
        $o_MST_CuentaBancariaBN->setNombreSucursal( $o_MST_CuentaBancariaRs[ "NombreSucursal" ] );
        $o_MST_CuentaBancariaBN->setDescripcionCuenta( $o_MST_CuentaBancariaRs[ "DescripcionCuenta" ] );
        $o_MST_CuentaBancariaBN->setNumeroCuentaCorto( $o_MST_CuentaBancariaRs[ "NumeroCuentaCorto" ] );
        $o_MST_CuentaBancariaBN->setCodigoSunat( $o_MST_CuentaBancariaRs[ "CodigoSunat" ] );
        $o_MST_CuentaBancariaBN->setFlagMostrarCuenta( ( integer ) $o_MST_CuentaBancariaRs[ "FlagMostrarCuenta" ] );
        $o_MST_CuentaBancariaBN->setEstado( $o_MST_CuentaBancariaRs[ "Estado" ] );
        $o_MST_CuentaBancariaBN->setFechaCreacion( utilTimestamp::getTimestamp( $o_MST_CuentaBancariaRs[ "FechaCreacion" ], "Y-m-d H:i:s" ) );
        $o_MST_CuentaBancariaBN->setUsuarioCreacion( $o_MST_CuentaBancariaRs[ "UsuarioCreacion" ] );
        $o_MST_CuentaBancariaBN->setFechaModificacion( utilTimestamp::getTimestamp( $o_MST_CuentaBancariaRs[ "FechaModificacion" ], "Y-m-d H:i:s" ) );
        $o_MST_CuentaBancariaBN->setUsuarioModificacion( $o_MST_CuentaBancariaRs[ "UsuarioModificacion" ] );
        return $o_MST_CuentaBancariaBN;
    }
}
?>