<?php
/* Autor...: Grupo Deltron S.A. */
/* Esquema.: cr_alfa_extension_15082014.xml */
/* Generado: 2014-08-26 22:07:56 */

/* Validacion del contenido de los campos campos de la tabla cr_cliente_file */
abstract class BaseCr_cliente_fileBV extends Cr_cliente_fileBN
{
    /* Contiene la clase que valida el tipo de dato */
    private $o_Validator; // Contiene el objeto que realizara la validacion de tipo de dato.
    private $s_ValidatorMessage; // Contiene la ultima observacion de la validacion del tipo de dato.

    /* Constructor ( Establece la clase que valida los tipos de datos y establece los valores por defecto ) */
    public function __construct()
    {
        /* Establecemos el objeto que realizara la validacion del tipo de dato */
        $this->o_Validator = new utilValidDataType();

        /* Establecemos los valores por defecto */
    }

    /* Valida en tipo de dato */
    private function validateData( $u_Data, $s_DataType, $i_Length, $i_Decimal, $b_NotNull )
    {
        $this->s_ValidatorMessage = null;
        if( !$this->o_Validator->validate( $u_Data, $s_DataType, $i_Length, $i_Decimal, $b_NotNull ) )
        {
            $this->s_ValidatorMessage = $this->o_Validator->getMessage();
        }
        return is_null( $this->s_ValidatorMessage );
    }

    /* Valida y establece el valor del campo IdClienteFile */
    public function setIdClienteFile( $i_IdClienteFile, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $i_IdClienteFile, "INTEGER", 0, 0, false ) )
            {
                throw new Exception( "El campo 'IdClienteFile' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setIdClienteFile( $i_IdClienteFile );
        return true;
    }

    /* Valida y establece el valor del campo IdCliente */
    public function setIdCliente( $i_IdCliente, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $i_IdCliente, "INTEGER", 0, 0, false ) )
            {
                throw new Exception( "El campo 'IdCliente' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setIdCliente( $i_IdCliente );
        return true;
    }

    /* Valida y establece el valor del campo FileNumero */
    public function setFileNumero( $s_FileNumero, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $s_FileNumero, "VARCHAR", 30, 0, false ) )
            {
                throw new Exception( "El campo 'FileNumero' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setFileNumero( $s_FileNumero );
        return true;
    }

    /* Valida y establece el valor del campo Estado */
    public function setEstado( $s_Estado, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $s_Estado, "VARCHAR", 2, 0, false ) )
            {
                throw new Exception( "El campo 'Estado' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setEstado( $s_Estado );
        return true;
    }

    /* Valida y establece el valor del campo NombreFile */
    public function setNombreFile( $s_NombreFile, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $s_NombreFile, "VARCHAR", 80, 0, false ) )
            {
                throw new Exception( "El campo 'NombreFile' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setNombreFile( $s_NombreFile );
        return true;
    }

    /* Valida y establece el valor del campo FechaEliminado */
    public function setFechaEliminado( $d_FechaEliminado, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $d_FechaEliminado, "DATE", 0, 0, false ) )
            {
                throw new Exception( "El campo 'FechaEliminado' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setFechaEliminado( $d_FechaEliminado );
        return true;
    }

    /* Valida y establece el valor del campo UsuarioEliminado */
    public function setUsuarioEliminado( $s_UsuarioEliminado, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $s_UsuarioEliminado, "VARCHAR", 30, 0, false ) )
            {
                throw new Exception( "El campo 'UsuarioEliminado' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setUsuarioEliminado( $s_UsuarioEliminado );
        return true;
    }

    /* Valida y establece el valor del campo Eliminado */
    public function setEliminado( $i_Eliminado, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $i_Eliminado, "INTEGER", 0, 0, false ) )
            {
                throw new Exception( "El campo 'Eliminado' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setEliminado( $i_Eliminado );
        return true;
    }

    /* Valida y establece el valor del campo FechaRegistro */
    public function setFechaRegistro( $d_FechaRegistro, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $d_FechaRegistro, "DATE", 0, 0, false ) )
            {
                throw new Exception( "El campo 'FechaRegistro' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setFechaRegistro( $d_FechaRegistro );
        return true;
    }

    /* Valida y establece el valor del campo UsuarioRegistro */
    public function setUsuarioRegistro( $s_UsuarioRegistro, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $s_UsuarioRegistro, "VARCHAR", 30, 0, false ) )
            {
                throw new Exception( "El campo 'UsuarioRegistro' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setUsuarioRegistro( $s_UsuarioRegistro );
        return true;
    }

    /* Valida y establece el valor del campo idtipofile */
    public function setIdtipofile( $i_Idtipofile, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $i_Idtipofile, "INTEGER", 0, 0, false ) )
            {
                throw new Exception( "El campo 'idtipofile' ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setIdtipofile( $i_Idtipofile );
        return true;
    }

    /* Valida el contenido del registro */
    public function validateRecord()
    {
        $this->setIdClienteFile( $this->getIdClienteFile(), false );
        $this->setIdCliente( $this->getIdCliente(), true );
        $this->setFileNumero( $this->getFileNumero(), true );
        $this->setEstado( $this->getEstado(), true );
        $this->setNombreFile( $this->getNombreFile(), true );
        $this->setFechaEliminado( $this->getFechaEliminado(), true );
        $this->setUsuarioEliminado( $this->getUsuarioEliminado(), true );
        $this->setEliminado( $this->getEliminado(), true );
        $this->setFechaRegistro( $this->getFechaRegistro(), true );
        $this->setUsuarioRegistro( $this->getUsuarioRegistro(), true );
        $this->setIdtipofile( $this->getIdtipofile(), true );
        return true;
    }
}
?>