<?php
/* Autor...:  */
/* Esquema.: MST_ClienteMast.xml */
/* Generado: 2021-09-13 17:10:55 */

/* Metodos de acceso a los campos de la tabla MST_ClienteMast */
abstract class BaseMST_ClienteMastBN
{
    /* Campos de la tabla */
    private $i_IdCliente;    // IdCliente: ( no definido )
    private $s_Clasificacion;    // Clasificacion: ( no definido )
    private $i_LineaCredito;    // LineaCredito: ( no definido )
    private $f_IngresoMensual;    // IngresoMensual: ( no definido )
    private $i_Vendedor;    // Vendedor: ( no definido )
    private $s_VendedorCod;    // VendedorCod: ( no definido )
    private $s_FormadePago;    // FormadePago: ( no definido )
    private $f_TotalAcumulado;    // TotalAcumulado: ( no definido )
    private $s_TipoServicio;    // TipoServicio: ( no definido )
    private $i_NumeroDiasCobranza;    // NumeroDiasCobranza: ( no definido )
    private $s_PagoEfectivoFlag;    // PagoEfectivoFlag: ( no definido )
    private $s_TipoFacturacion;    // TipoFacturacion: ( no definido )
    private $s_TipoVenta;    // TipoVenta: ( no definido )
    private $s_FormaFacturacion;    // FormaFacturacion: ( no definido )
    private $s_TipoCliente;    // TipoCliente: ( no definido )
    private $s_CentroCosto;    // CentroCosto: ( no definido )
    private $s_CodCanal;    // CodCanal: ( no definido )
    private $s_CreditoHold;    // CreditoHold: ( no definido )
    private $s_UsuarioModificacion;    // UsuarioModificacion: ( no definido )
    private $d_FechaModificacion;    // FechaModificacion: ( no definido )
    private $s_UsuarioCreacion;    // UsuarioCreacion: ( no definido )
    private $d_FechaCreacion;    // FechaCreacion: ( no definido )

    /* Establece el valor del campo IdCliente */
    public function setIdCliente( $i_IdCliente )
    {
        $this->i_IdCliente = $i_IdCliente;
    }

    /* Obtiene el valor del campo IdCliente */
    public function getIdCliente()
    {
        return $this->i_IdCliente;
    }

    /* Establece el valor del campo Clasificacion */
    public function setClasificacion( $s_Clasificacion )
    {
        $this->s_Clasificacion = $s_Clasificacion;
    }

    /* Obtiene el valor del campo Clasificacion */
    public function getClasificacion()
    {
        return $this->s_Clasificacion;
    }

    /* Establece el valor del campo LineaCredito */
    public function setLineaCredito( $i_LineaCredito )
    {
        $this->i_LineaCredito = $i_LineaCredito;
    }

    /* Obtiene el valor del campo LineaCredito */
    public function getLineaCredito()
    {
        return $this->i_LineaCredito;
    }

    /* Establece el valor del campo IngresoMensual */
    public function setIngresoMensual( $f_IngresoMensual )
    {
        $this->f_IngresoMensual = $f_IngresoMensual;
    }

    /* Obtiene el valor del campo IngresoMensual */
    public function getIngresoMensual()
    {
        return $this->f_IngresoMensual;
    }

    /* Establece el valor del campo Vendedor */
    public function setVendedor( $i_Vendedor )
    {
        $this->i_Vendedor = $i_Vendedor;
    }

    /* Obtiene el valor del campo Vendedor */
    public function getVendedor()
    {
        return $this->i_Vendedor;
    }

    /* Establece el valor del campo VendedorCod */
    public function setVendedorCod( $s_VendedorCod )
    {
        $this->s_VendedorCod = $s_VendedorCod;
    }

    /* Obtiene el valor del campo VendedorCod */
    public function getVendedorCod()
    {
        return $this->s_VendedorCod;
    }

    /* Establece el valor del campo FormadePago */
    public function setFormadePago( $s_FormadePago )
    {
        $this->s_FormadePago = $s_FormadePago;
    }

    /* Obtiene el valor del campo FormadePago */
    public function getFormadePago()
    {
        return $this->s_FormadePago;
    }

    /* Establece el valor del campo TotalAcumulado */
    public function setTotalAcumulado( $f_TotalAcumulado )
    {
        $this->f_TotalAcumulado = $f_TotalAcumulado;
    }

    /* Obtiene el valor del campo TotalAcumulado */
    public function getTotalAcumulado()
    {
        return $this->f_TotalAcumulado;
    }

    /* Establece el valor del campo TipoServicio */
    public function setTipoServicio( $s_TipoServicio )
    {
        $this->s_TipoServicio = $s_TipoServicio;
    }

    /* Obtiene el valor del campo TipoServicio */
    public function getTipoServicio()
    {
        return $this->s_TipoServicio;
    }

    /* Establece el valor del campo NumeroDiasCobranza */
    public function setNumeroDiasCobranza( $i_NumeroDiasCobranza )
    {
        $this->i_NumeroDiasCobranza = $i_NumeroDiasCobranza;
    }

    /* Obtiene el valor del campo NumeroDiasCobranza */
    public function getNumeroDiasCobranza()
    {
        return $this->i_NumeroDiasCobranza;
    }

    /* Establece el valor del campo PagoEfectivoFlag */
    public function setPagoEfectivoFlag( $s_PagoEfectivoFlag )
    {
        $this->s_PagoEfectivoFlag = $s_PagoEfectivoFlag;
    }

    /* Obtiene el valor del campo PagoEfectivoFlag */
    public function getPagoEfectivoFlag()
    {
        return $this->s_PagoEfectivoFlag;
    }

    /* Establece el valor del campo TipoFacturacion */
    public function setTipoFacturacion( $s_TipoFacturacion )
    {
        $this->s_TipoFacturacion = $s_TipoFacturacion;
    }

    /* Obtiene el valor del campo TipoFacturacion */
    public function getTipoFacturacion()
    {
        return $this->s_TipoFacturacion;
    }

    /* Establece el valor del campo TipoVenta */
    public function setTipoVenta( $s_TipoVenta )
    {
        $this->s_TipoVenta = $s_TipoVenta;
    }

    /* Obtiene el valor del campo TipoVenta */
    public function getTipoVenta()
    {
        return $this->s_TipoVenta;
    }

    /* Establece el valor del campo FormaFacturacion */
    public function setFormaFacturacion( $s_FormaFacturacion )
    {
        $this->s_FormaFacturacion = $s_FormaFacturacion;
    }

    /* Obtiene el valor del campo FormaFacturacion */
    public function getFormaFacturacion()
    {
        return $this->s_FormaFacturacion;
    }

    /* Establece el valor del campo TipoCliente */
    public function setTipoCliente( $s_TipoCliente )
    {
        $this->s_TipoCliente = $s_TipoCliente;
    }

    /* Obtiene el valor del campo TipoCliente */
    public function getTipoCliente()
    {
        return $this->s_TipoCliente;
    }

    /* Establece el valor del campo CentroCosto */
    public function setCentroCosto( $s_CentroCosto )
    {
        $this->s_CentroCosto = $s_CentroCosto;
    }

    /* Obtiene el valor del campo CentroCosto */
    public function getCentroCosto()
    {
        return $this->s_CentroCosto;
    }

    /* Establece el valor del campo CodCanal */
    public function setCodCanal( $s_CodCanal )
    {
        $this->s_CodCanal = $s_CodCanal;
    }

    /* Obtiene el valor del campo CodCanal */
    public function getCodCanal()
    {
        return $this->s_CodCanal;
    }

    /* Establece el valor del campo CreditoHold */
    public function setCreditoHold( $s_CreditoHold )
    {
        $this->s_CreditoHold = $s_CreditoHold;
    }

    /* Obtiene el valor del campo CreditoHold */
    public function getCreditoHold()
    {
        return $this->s_CreditoHold;
    }

    /* 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;
    }

    /* 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 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 FechaCreacion */
    public function setFechaCreacion( $d_FechaCreacion )
    {
        $this->d_FechaCreacion = $d_FechaCreacion;
    }

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

    public function getJsonSerialize()
    {
        return 
        [
            'IdCliente' => $this->getIdCliente(),
            'Clasificacion' => $this->getClasificacion(),
            'LineaCredito' => $this->getLineaCredito(),
            'IngresoMensual' => $this->getIngresoMensual(),
            'Vendedor' => $this->getVendedor(),
            'VendedorCod' => $this->getVendedorCod(),
            'FormadePago' => $this->getFormadePago(),
            'TotalAcumulado' => $this->getTotalAcumulado(),
            'TipoServicio' => $this->getTipoServicio(),
            'NumeroDiasCobranza' => $this->getNumeroDiasCobranza(),
            'PagoEfectivoFlag' => $this->getPagoEfectivoFlag(),
            'TipoFacturacion' => $this->getTipoFacturacion(),
            'TipoVenta' => $this->getTipoVenta(),
            'FormaFacturacion' => $this->getFormaFacturacion(),
            'TipoCliente' => $this->getTipoCliente(),
            'CentroCosto' => $this->getCentroCosto(),
            'CodCanal' => $this->getCodCanal(),
            'CreditoHold' => $this->getCreditoHold(),
            'UsuarioModificacion' => $this->getUsuarioModificacion(),
            'FechaModificacion' => $this->getFechaModificacion(),
            'UsuarioCreacion' => $this->getUsuarioCreacion(),
            'FechaCreacion' => $this->getFechaCreacion(),
        ];
    }

    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_ClienteMastBN desde un RecordSet */
    public static function retrieveByRs( $o_MST_ClienteMastRs )
    {
        $o_MST_ClienteMastBN = new MST_ClienteMastBN();
        $o_MST_ClienteMastBN->setIdCliente( ( integer ) $o_MST_ClienteMastRs[ "IdCliente" ] );
        $o_MST_ClienteMastBN->setClasificacion( $o_MST_ClienteMastRs[ "Clasificacion" ] );
        $o_MST_ClienteMastBN->setLineaCredito( ( integer ) $o_MST_ClienteMastRs[ "LineaCredito" ] );
        $o_MST_ClienteMastBN->setIngresoMensual( ( float ) $o_MST_ClienteMastRs[ "IngresoMensual" ] );
        $o_MST_ClienteMastBN->setVendedor( ( integer ) $o_MST_ClienteMastRs[ "Vendedor" ] );
        $o_MST_ClienteMastBN->setVendedorCod( $o_MST_ClienteMastRs[ "VendedorCod" ] );
        $o_MST_ClienteMastBN->setFormadePago( $o_MST_ClienteMastRs[ "FormadePago" ] );
        $o_MST_ClienteMastBN->setTotalAcumulado( ( float ) $o_MST_ClienteMastRs[ "TotalAcumulado" ] );
        $o_MST_ClienteMastBN->setTipoServicio( $o_MST_ClienteMastRs[ "TipoServicio" ] );
        $o_MST_ClienteMastBN->setNumeroDiasCobranza( ( integer ) $o_MST_ClienteMastRs[ "NumeroDiasCobranza" ] );
        $o_MST_ClienteMastBN->setPagoEfectivoFlag( $o_MST_ClienteMastRs[ "PagoEfectivoFlag" ] );
        $o_MST_ClienteMastBN->setTipoFacturacion( $o_MST_ClienteMastRs[ "TipoFacturacion" ] );
        $o_MST_ClienteMastBN->setTipoVenta( $o_MST_ClienteMastRs[ "TipoVenta" ] );
        $o_MST_ClienteMastBN->setFormaFacturacion( $o_MST_ClienteMastRs[ "FormaFacturacion" ] );
        $o_MST_ClienteMastBN->setTipoCliente( $o_MST_ClienteMastRs[ "TipoCliente" ] );
        $o_MST_ClienteMastBN->setCentroCosto( $o_MST_ClienteMastRs[ "CentroCosto" ] );
        $o_MST_ClienteMastBN->setCodCanal( $o_MST_ClienteMastRs[ "CodCanal" ] );
        $o_MST_ClienteMastBN->setCreditoHold( $o_MST_ClienteMastRs[ "CreditoHold" ] );
        $o_MST_ClienteMastBN->setUsuarioModificacion( $o_MST_ClienteMastRs[ "UsuarioModificacion" ] );
        $o_MST_ClienteMastBN->setFechaModificacion( utilTimestamp::getTimestamp( $o_MST_ClienteMastRs[ "FechaModificacion" ], "Y-m-d H:i:s" ) );
        $o_MST_ClienteMastBN->setUsuarioCreacion( $o_MST_ClienteMastRs[ "UsuarioCreacion" ] );
        $o_MST_ClienteMastBN->setFechaCreacion( utilTimestamp::getTimestamp( $o_MST_ClienteMastRs[ "FechaCreacion" ], "Y-m-d H:i:s" ) );
        return $o_MST_ClienteMastBN;
    }
}
?>