<?php





/*


 * To change this license header, choose License Headers in Project Properties.


 * To change this template file, choose Tools | Templates


 * and open the template in the editor.


 */





/**


 * Description of Sede


 *


 * @author Desarrollo


 */


class Anuncios {


    


    const AFILIADOS = 'AFILIADOS';


    const EMPRENDEDORES = 'EMPRENDEDORES';


    const EMPRESARIOS = 'EMPRESARIOS';


    const NO = 'NO'; 


    


    const ACTIVO = 'ACTIVO';


    const SUSPENDIDO = 'SUSPENDIDO';


    


    


    const QUERY_DATOS = <<<sql


    SELECT * FROM CamaraAnuncios


sql;





    public static function datos($anuncioID) {


        $sqlQuery = self::QUERY_DATOS. " WHERE anuncioID = ? ";


        return SicamDB::selectUnaFila($sqlQuery, array($anuncioID));


    }


    


    public static function todas() {


        $sqlQuery = self::QUERY_DATOS;


        return SicamDB::selectVariasFilas($sqlQuery, array());


    }


    


    public static function afiliados($anuncioESTADO = null) {


        $datos = array();


        $sqlQuery = self::QUERY_DATOS." WHERE anuncioEXCLUSIVO = 'AFILIADOS' ";


        


        if(!is_null($anuncioESTADO)){


            $sqlQuery .= 'AND anuncioESTADO = ? ' ;


            array_push($datos, $anuncioESTADO);


        }


        


        return SicamDB::selectVariasFilas($sqlQuery, $datos);


    }


    


    public static function afiliadosAleatorio($anuncioESTADO = null) {


        $datos = array();


        $sqlQuery = self::QUERY_DATOS." WHERE anuncioEXCLUSIVO = 'AFILIADOS' ";


        


        if(!is_null($anuncioESTADO)){


            $sqlQuery .= 'AND anuncioESTADO = ?  ' ;


            array_push($datos, $anuncioESTADO);


        }


        $sqlQuery .= 'ORDER BY RAND() LIMIT 1 ' ;


        


        return SicamDB::selectUnaFila($sqlQuery, $datos);


    }


    





    public static function guardar(


        $categoriaID, $anuncioEXCLUSIVO, $anuncioCODIGO, $anuncioTITULO, $anuncioDESCRIPCION, 


        $anuncioENLACE, $anuncioIMAGEN, $anuncioESTADO


    ) {


        $sqlQuery = "INSERT INTO CamaraAnuncios ( ".


            "categoriaID, anuncioEXCLUSIVO, anuncioCODIGO, anuncioTITULO, anuncioDESCRIPCION, ".


            "anuncioENLACE, anuncioIMAGEN, anuncioESTADO,  anuncioUSRCREA "."


            ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ? ); ";


        return SicamDB::insertFila($sqlQuery,


            array($categoriaID, $anuncioEXCLUSIVO, $anuncioCODIGO, $anuncioTITULO, $anuncioDESCRIPCION, 


        $anuncioENLACE, $anuncioIMAGEN, $anuncioESTADO, Cliente::usuarioID() )


        );


    }








    public static function actualizar(


        $anuncioID, $categoriaID, $anuncioEXCLUSIVO, $anuncioTITULO, $anuncioDESCRIPCION, 


        $anuncioENLACE, $anuncioIMAGEN, $anuncioESTADO


    ) {


        $sqlQuery = "UPDATE CamaraAnuncios SET ".


            "categoriaID = ?, anuncioEXCLUSIVO = ?, anuncioTITULO = ? , ".


            "anuncioDESCRIPCION = ? , anuncioENLACE = ? , anuncioIMAGEN = ? , ".


            "anuncioESTADO = ? , anuncioFCHMODIFICADO = CURRENT_TIMESTAMP , anuncioUSRMODIFICA = ? ".


            "WHERE anuncioID = ? ; ";


        return SicamDB::actualizarFila($sqlQuery,


            array(


                $categoriaID, $anuncioEXCLUSIVO, $anuncioCODIGO, $anuncioTITULO, $anuncioDESCRIPCION, 


                $anuncioENLACE, $anuncioIMAGEN, $anuncioESTADO, Cliente::usuarioID(), $anuncioID 


            )


        );


    }





    public static function eliminar($anuncioID) {


        $sqlQuery = "DELETE FROM CamaraAnuncios WHERE anuncioID = ? ;";


        return SicamDB::actualizarFila($sqlQuery, array($anuncioID));


    }


    


    


    public static function desactivar($anuncioID) {


        $sqlQuery = "UPDATE CamaraAnuncios SET anuncioESTADO = ?  WHERE anuncioID = ? ;";


        return SicamDB::actualizarFila($sqlQuery, array( self::SUSPENDIDO, $anuncioID));


    }


    public static function reactivar($anuncioID) {


        $sqlQuery = "UPDATE CamaraAnuncios SET  anuncioESTADO = ? WHERE anuncioID = ? ;";


        return SicamDB::actualizarFila($sqlQuery, array( self::ACTIVO, $anuncioID));


    }


    


    


    





}




