<?php
/* Autor...:  */
/* Esquema.: SR_PreSerieEscaneo.xml */
/* Generado: 2020-08-18 04:21:31 */

/* Metodos de acceso a los campos de la tabla SR_PreSerieEscaneo */
abstract class BaseSR_PreSerieEscaneoBN
{
    /* Campos de la tabla */
    private $i_MovimientoDetalleId;    // MovimientoDetalleId: ( no definido )
    private $i_SerieId;    // SerieId: ( no definido )
    private $s_ProductoId;    // ProductoId: ( no definido )
    private $d_Fecha;    // Fecha: ( no definido )
    private $s_Operacion;    // Operacion: ( no definido )
    private $s_Almacen;    // Almacen: ( no definido )
    private $s_ReferenciaTipo;    // ReferenciaTipo: ( no definido )
    private $s_ReferenciaNumero;    // ReferenciaNumero: ( no definido )
    private $u_Comentario;    // Comentario: ( no definido )
    private $s_UsuarioRegistro;    // UsuarioRegistro: ( no definido )
    private $d_FechaRegistro;    // FechaRegistro: ( no definido )

    /* Establece el valor del campo MovimientoDetalleId */
    public function setMovimientoDetalleId( $i_MovimientoDetalleId )
    {
        $this->i_MovimientoDetalleId = $i_MovimientoDetalleId;
    }

    /* Obtiene el valor del campo MovimientoDetalleId */
    public function getMovimientoDetalleId()
    {
        return $this->i_MovimientoDetalleId;
    }

    /* Establece el valor del campo SerieId */
    public function setSerieId( $i_SerieId )
    {
        $this->i_SerieId = $i_SerieId;
    }

    /* Obtiene el valor del campo SerieId */
    public function getSerieId()
    {
        return $this->i_SerieId;
    }

    /* Establece el valor del campo ProductoId */
    public function setProductoId( $s_ProductoId )
    {
        $this->s_ProductoId = $s_ProductoId;
    }

    /* Obtiene el valor del campo ProductoId */
    public function getProductoId()
    {
        return $this->s_ProductoId;
    }

    /* Establece el valor del campo Fecha */
    public function setFecha( $d_Fecha )
    {
        $this->d_Fecha = $d_Fecha;
    }

    /* Obtiene el valor del campo Fecha */
    public function getFecha()
    {
        return $this->d_Fecha;
    }

    /* Establece el valor del campo Operacion */
    public function setOperacion( $s_Operacion )
    {
        $this->s_Operacion = $s_Operacion;
    }

    /* Obtiene el valor del campo Operacion */
    public function getOperacion()
    {
        return $this->s_Operacion;
    }

    /* Establece el valor del campo Almacen */
    public function setAlmacen( $s_Almacen )
    {
        $this->s_Almacen = $s_Almacen;
    }

    /* Obtiene el valor del campo Almacen */
    public function getAlmacen()
    {
        return $this->s_Almacen;
    }

    /* Establece el valor del campo ReferenciaTipo */
    public function setReferenciaTipo( $s_ReferenciaTipo )
    {
        $this->s_ReferenciaTipo = $s_ReferenciaTipo;
    }

    /* Obtiene el valor del campo ReferenciaTipo */
    public function getReferenciaTipo()
    {
        return $this->s_ReferenciaTipo;
    }

    /* Establece el valor del campo ReferenciaNumero */
    public function setReferenciaNumero( $s_ReferenciaNumero )
    {
        $this->s_ReferenciaNumero = $s_ReferenciaNumero;
    }

    /* Obtiene el valor del campo ReferenciaNumero */
    public function getReferenciaNumero()
    {
        return $this->s_ReferenciaNumero;
    }

    /* Establece el valor del campo Comentario */
    public function setComentario( $u_Comentario )
    {
        $this->u_Comentario = $u_Comentario;
    }

    /* Obtiene el valor del campo Comentario */
    public function getComentario()
    {
        return $this->u_Comentario;
    }

    /* Establece el valor del campo UsuarioRegistro */
    public function setUsuarioRegistro( $s_UsuarioRegistro )
    {
        $this->s_UsuarioRegistro = $s_UsuarioRegistro;
    }

    /* Obtiene el valor del campo UsuarioRegistro */
    public function getUsuarioRegistro()
    {
        return $this->s_UsuarioRegistro;
    }

    /* Establece el valor del campo FechaRegistro */
    public function setFechaRegistro( $d_FechaRegistro )
    {
        $this->d_FechaRegistro = $d_FechaRegistro;
    }

    /* Obtiene el valor del campo FechaRegistro */
    public function getFechaRegistro()
    {
        return $this->d_FechaRegistro;
    }

    public function getJsonSerialize()
    {
        return 
        [
            'MovimientoDetalleId' => $this->getMovimientoDetalleId(),
            'SerieId' => $this->getSerieId(),
            'ProductoId' => $this->getProductoId(),
            'Fecha' => $this->getFecha(),
            'Operacion' => $this->getOperacion(),
            'Almacen' => $this->getAlmacen(),
            'ReferenciaTipo' => $this->getReferenciaTipo(),
            'ReferenciaNumero' => $this->getReferenciaNumero(),
            'Comentario' => $this->getComentario(),
            'UsuarioRegistro' => $this->getUsuarioRegistro(),
            'FechaRegistro' => $this->getFechaRegistro(),
        ];
    }

    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 SR_PreSerieEscaneoBN desde un RecordSet */
    public static function retrieveByRs( $o_SR_PreSerieEscaneoRs )
    {
        $o_SR_PreSerieEscaneoBN = new SR_PreSerieEscaneoBN();
        $o_SR_PreSerieEscaneoBN->setMovimientoDetalleId( ( integer ) $o_SR_PreSerieEscaneoRs[ "MovimientoDetalleId" ] );
        $o_SR_PreSerieEscaneoBN->setSerieId( ( integer ) $o_SR_PreSerieEscaneoRs[ "SerieId" ] );
        $o_SR_PreSerieEscaneoBN->setProductoId( $o_SR_PreSerieEscaneoRs[ "ProductoId" ] );
        $o_SR_PreSerieEscaneoBN->setFecha( utilTimestamp::getTimestamp( $o_SR_PreSerieEscaneoRs[ "Fecha" ], "Y-m-d H:i:s" ) );
        $o_SR_PreSerieEscaneoBN->setOperacion( $o_SR_PreSerieEscaneoRs[ "Operacion" ] );
        $o_SR_PreSerieEscaneoBN->setAlmacen( $o_SR_PreSerieEscaneoRs[ "Almacen" ] );
        $o_SR_PreSerieEscaneoBN->setReferenciaTipo( $o_SR_PreSerieEscaneoRs[ "ReferenciaTipo" ] );
        $o_SR_PreSerieEscaneoBN->setReferenciaNumero( $o_SR_PreSerieEscaneoRs[ "ReferenciaNumero" ] );
        $o_SR_PreSerieEscaneoBN->setComentario( $o_SR_PreSerieEscaneoRs[ "Comentario" ] );
        $o_SR_PreSerieEscaneoBN->setUsuarioRegistro( $o_SR_PreSerieEscaneoRs[ "UsuarioRegistro" ] );
        $o_SR_PreSerieEscaneoBN->setFechaRegistro( utilTimestamp::getTimestamp( $o_SR_PreSerieEscaneoRs[ "FechaRegistro" ], "Y-m-d H:i:s" ) );
        return $o_SR_PreSerieEscaneoBN;
    }
}
?>