<?php
/* Autor...: William L. Taype Perez */
/* Esquema.: PRD_OrdenCab.xml */
/* Generado: 2021-04-06 20:52:06 */

/* Validacion del contenido de los campos campos de la tabla PRD_OrdenCab */
abstract class BasePRD_OrdenCabBV extends PRD_OrdenCabBN
{
    /* 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 IdOrdenCab */
    public function setIdOrdenCab( $i_IdOrdenCab, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $i_IdOrdenCab, "INT", 11, 0, false ) )
            {
                throw new Exception( "El campo IdOrdenCab ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setIdOrdenCab( $i_IdOrdenCab );
        return true;
    }

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

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

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

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

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

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

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

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

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

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

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

    /* Valida y establece el valor del campo Comentario */
    public function setComentario( $s_Comentario, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $s_Comentario, "VARCHAR", 1000, 0, false ) )
            {
                throw new Exception( "El campo Comentario ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setComentario( $s_Comentario );
        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", 1, 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 IdTipoDocumentoSal */
    public function setIdTipoDocumentoSal( $s_IdTipoDocumentoSal, $b_ValidateData = true )
    {
        if ( $b_ValidateData == true )
        {
            if ( !$this->validateData( $s_IdTipoDocumentoSal, "VARCHAR", 5, 0, false ) )
            {
                throw new Exception( "El campo IdTipoDocumentoSal ".strtolower( $this->s_ValidatorMessage ) );
            }
        }
        parent::setIdTipoDocumentoSal( $s_IdTipoDocumentoSal );
        return true;
    }

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

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

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

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

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

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

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

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

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

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

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

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

    /* Valida el contenido del registro */
    public function validateRecord()
    {
        $this->setIdOrdenCab( $this->getIdOrdenCab(), false );
        $this->setIdCompania( $this->getIdCompania(), true );
        $this->setIdSucursal( $this->getIdSucursal(), true );
        $this->setFechaOrden( $this->getFechaOrden(), true );
        $this->setTipoOrden( $this->getTipoOrden(), true );
        $this->setIdAlmacen( $this->getIdAlmacen(), true );
        $this->setIdProyecto( $this->getIdProyecto(), true );
        $this->setProyectoDesc( $this->getProyectoDesc(), true );
        $this->setProFinalId( $this->getProFinalId(), true );
        $this->setIdDocRef( $this->getIdDocRef(), true );
        $this->setDocNumRef( $this->getDocNumRef(), true );
        $this->setIdAlmacenRef( $this->getIdAlmacenRef(), true );
        $this->setComentario( $this->getComentario(), true );
        $this->setEstado( $this->getEstado(), true );
        $this->setIdTipoDocumentoSal( $this->getIdTipoDocumentoSal(), true );
        $this->setIdNumeroDocumentoSal( $this->getIdNumeroDocumentoSal(), true );
        $this->setIdTransaccionSal( $this->getIdTransaccionSal(), true );
        $this->setIdTipoDocumentoIng( $this->getIdTipoDocumentoIng(), true );
        $this->setIdNumeroDocumentoIng( $this->getIdNumeroDocumentoIng(), true );
        $this->setIdTransaccionIng( $this->getIdTransaccionIng(), true );
        $this->setIdTipoDocumentoTrf( $this->getIdTipoDocumentoTrf(), true );
        $this->setIdNumeroDocumentoTrf( $this->getIdNumeroDocumentoTrf(), true );
        $this->setIdTransaccionTrf( $this->getIdTransaccionTrf(), true );
        $this->setUsuarioCreacion( $this->getUsuarioCreacion(), true );
        $this->setFechaCreacion( $this->getFechaCreacion(), true );
        $this->setUsuarioModificacion( $this->getUsuarioModificacion(), true );
        $this->setFechaModificacion( $this->getFechaModificacion(), true );
        return true;
    }
}
?>