<?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 Afiliados

 *

 * @author Desarrollo

 */

class AfiliadosAppControlador extends Controladores{

    

    private $politicaAfiliados = 'AFILIACION';

    private $codAplicacion = 'APPAFILIADOS';

    

    function mostrarTodasNoticias(){

        $NoticiasAfiliados = AfiliadosNoticias::todas();

        Vistas::mostrarSencillo(

            'afiliados', 'aplicacion/tbl-noticias' ,  

            array("Noticias"=>$NoticiasAfiliados ) 

            );

    }

    

    function mostrarPublicidad(){

        $AnunciosAfiliados = Anuncios::afiliados();

        Vistas::mostrarSencillo(

            'afiliados', 'aplicacion/tbl-anuncios' ,  

            array("Anuncios"=>$AnunciosAfiliados ) 

            );

    }



    function mostrarTodos($request, $response, $args=array()) {

        Api::ejecutarGet($request, Afiliados::todos());

    }

    

    function autenticar($request, $response, $args=array()) {

        $nitAfiliado = isset($args['nit']) ? filter_var($args['nit'], FILTER_SANITIZE_STRING) : null;

        $passwordAfiliado = isset($args['password']) ? filter_var($args['password'], FILTER_SANITIZE_STRING) : null;

        if(!empty($nitAfiliado) and !empty($passwordAfiliado)):

            Api::ejecutarPost($request, Afiliados::porNitPass($nitAfiliado, $passwordAfiliado));

        else:

            echo RespuestasSistema::error('DATOS INCOMPLETOS EN LA OPERACIÓN', '405');

        endif;

    }

    

    function aceptarPolitica($request, $response, $args=array()) {

        $nitAfiliado = isset($args['nit']) ? filter_var($args['nit'], FILTER_SANITIZE_STRING) : null;

        $aplicacionId = isset($args['aplicacionId']) ? filter_var($args['aplicacionId'], FILTER_SANITIZE_STRING) : null;

        

        $afiliado = Afiliados::porNit($nitAfiliado);

        $appDatos = Aplicaciones::porCodigo($this->codAplicacion);

        

        if(!empty($afiliado) and !empty($appDatos) and $afiliado->afiliadoLEGAL=='NO'):       

            Afiliados::actualizarLegal($afiliado->afiliadoID);

            Api::ejecutarPut($request, ControlPolitica::guardar($afiliado->personaID, $appDatos->politicaID));

        else:

            echo RespuestasSistema::error('DATOS INCOMPLETOS EN LA OPERACIÓN', '405');

        endif;

    }  

    

    function actualizarPassword($request, $response, $args=array()) {

        $nitAfiliado = isset($args['identificacion']) ? filter_var($args['identificacion'], FILTER_SANITIZE_STRING) : null;

        $passwordAfiliado = isset($args['password']) ? filter_var($args['password'], FILTER_SANITIZE_STRING) : null;

        $passwordNueva = isset($args['passwordNueva']) ? filter_var($args['passwordNueva'], FILTER_SANITIZE_STRING) : null;

        if(!empty($nitAfiliado) and !empty($passwordAfiliado)):       

            $afiliado = Afiliados::porNitPass($nitAfiliado, $passwordAfiliado);

            if (!empty($afiliado)) :

                Api::ejecutarPut($request,Afiliados::actializarPassword($passwordNueva, $afiliado->afiliadoID));

            else:

                echo RespuestasSistema::error('NO SE ENCONTRARON DATOS EN LA CONSULTA', '404');

            endif;

        else:

            echo RespuestasSistema::error('DATOS INCOMPLETOS EN LA OPERACIÓN', '405');

        endif;

    }

    

    function mostrarPorActividad($request, $response, $args=array()) {

        $actividadAfiliado = isset($args[0]) ? filter_var($args[0], FILTER_SANITIZE_STRING) : null;

        if(!empty($actividadAfiliado)):

            Api::ejecutarGet($request, Afiliados::porActividad($actividadAfiliado));

        else:

            echo RespuestasSistema::error('DATOS INCOMPLETOS EN LA OPERACIÓN', '405');

        endif;

    }

    

    function mostrarPorCiiu($request, $response, $args=array()) {

        $seccionAfiliado = isset($args[0]) ? filter_var($args[0], FILTER_SANITIZE_STRING) : null;

        if(!empty($seccionAfiliado)):

            Api::ejecutarGet($request, Afiliados::porCiiu($seccionAfiliado));

        else:

            echo RespuestasSistema::error('DATOS INCOMPLETOS EN LA OPERACIÓN', '405');

        endif;

    }

    

    function mostrarPorLimite($request, $response, $args=array()) {

        $desde = isset($args[0]) ? filter_var($args[0], FILTER_SANITIZE_STRING) : null;

        $hasta = isset($args[1]) ? filter_var($args[1], FILTER_SANITIZE_STRING) : null;

        

        if(!empty($desde) and !empty($hasta)):

            if($hasta>$desde):

                Api::ejecutarGet($request, Afiliados::porRango($desde, $hasta));

            else:

                echo RespuestasSistema::error('DATOS ERRONEOS EN LA OPERACIÓN', '405');

            endif;

        else:

            echo RespuestasSistema::error('DATOS INCOMPLETOS EN LA OPERACIÓN', '405');

        endif;

    }

    

    function mostrarNoticiasActivas($request, $response, $args=array()) {

        Api::ejecutarGet($request, AfiliadosNoticias::activas());

    }



    function mostrarRequisitosAfiliados($request, $response, $args=array()){

        Api::ejecutarGet($request, Politicas::porCodigo($this->politicaAfiliados));

    }

    

    function mostrarDatosAplicacion($request, $response, $args=array()) {

       Api::ejecutarGet($request, Aplicaciones::porCodigo($this->codAplicacion));

    }

    

    function mostrarPoliticaAplicacion($request, $response, $args=array()) {

        $appDatos = Aplicaciones::porCodigo($this->codAplicacion);

        Api::ejecutarGet($request, Aplicaciones::politica($appDatos->aplicacionID));

    }



    function mostrarBeneficiosActivos($request, $response, $args=array()) {

        Api::ejecutarGet($request, AfiliadosBeneficios::activos());

    }

    

    function mostrarCiiusPorAfiliados($request, $response, $args=array()) {

        Api::ejecutarGet($request, Ciiu::porAfiliados());

    }

    

    function enviarSolicitud($request, $response, $args=array()) {

        

        $identificacion = isset($args['identificacion']) ? filter_var($args['identificacion'], FILTER_SANITIZE_STRING) : null;

        $razonSocial = isset($args['nombre']) ? filter_var($args['nombre'], FILTER_SANITIZE_STRING) : null;

        $sede = isset($args['sede']) ? filter_var($args['sede'], FILTER_SANITIZE_STRING) : null;

        $tipoOrganizacion = isset($args['tipoRegistro']) ? filter_var($args['tipoRegistro'], FILTER_SANITIZE_STRING) : null;

        $cedulaSolicitante = isset($args['cedulaSolicitante']) ? filter_var($args['cedulaSolicitante'], FILTER_SANITIZE_STRING) : null;

        $nombreSolicitante = isset($args['nombreSolicitante']) ? filter_var($args['nombreSolicitante'], FILTER_SANITIZE_STRING) : null;

        $apellidoSolicitante = isset($args['apellidoSolicitante']) ? filter_var($args['apellidoSolicitante'], FILTER_SANITIZE_STRING) : null;

        $celular = isset($args['celular']) ? filter_var($args['celular'], FILTER_SANITIZE_STRING) : null;

        $email = isset($args['email']) ? filter_var($args['email'], FILTER_SANITIZE_STRING) : null;

        

        if(!empty($identificacion) and !empty($razonSocial) and !empty($sede) and !empty($tipoOrganizacion) 

            and !empty($cedulaSolicitante) and !empty($nombreSolicitante) and !empty($apellidoSolicitante) 

            and !empty($celular) and !empty($email)):

            if($request->isPost()):

                $htmlMensaje = PlantillasCorreos::procesar( 

                        "afiliados/solicitud-afiliados", 

                        array('%%FECHASOLICITUD%%', '%%SEDE%%',

                                '%%NOMBREEMPRESA%%', '%%NOMBRESOLICITANTE%%', '%%CCSOLICITANTE%%', '%%IDENTIFICACION%%',

                                '%%EMAILSOLICITANTE%%', '%%TELEFONOSOLICITANTE%%'

                            ), 

                        array(date('l jS \of F Y h:i:s A'),

                                $sede, $razonSocial, $nombreSolicitante . " " . $apellidoSolicitante, 

                                $cedulaSolicitante, $identificacion, $email, $celular

                            )

                );

                

                $mensaje = PlantillasCorreos::mensaje( $htmlMensaje , "afiliados@ccsm.org.co", "afiliados@ccsm.org.co");

                

                $envio = Correos::enviarContacto(

                    array("pruebas@ccsm.org.co", "probando"), "SOLICITUD DE AFILIACIÓN DESDE LA APP DE AFILIADOS",

                            $mensaje,

                            array("afiliados@ccsm.org.co", "Red Afiliados")

                );

            else:

                echo RespuestasSistema::error('METODO DE ACCESO INVALIDO', '405');

            endif;

        else:

            echo RespuestasSistema::error('DATOS INCOMPLETOS EN LA OPERACIÓN', '405');

        endif;

    }

    

    function enviarMensajeContacto($request, $response, $args=array()) {

        $empresa = isset($args['nombreEmpresa']) ? filter_var($args['nombreEmpresa'], FILTER_SANITIZE_STRING) : null;

        $correo = isset($args['correo']) ? filter_var($args['correo'], FILTER_SANITIZE_STRING) : null;

        $asunto = isset($args['asunto']) ? filter_var($args['asunto'], FILTER_SANITIZE_STRING) : null;

        $mensaje = isset($args['mensaje']) ? filter_var($args['mensaje'], FILTER_SANITIZE_STRING) : null;

    

        if(!empty($empresa) and !empty($correo) and !empty($asunto) and !empty($mensaje)):

            if($request->isPost()):

                $htmlMensaje = PlantillasCorreos::procesar( 

                        "afiliados/msj-afiliados", 

                        array('%%FECHASOLICITUD%%', 

                            '%%ASUNTO%%','%%NOMBREEMPRESA%%', '%%CORREO%%', 

                            '%%MENSAJE%%'), 

                        array(date('l jS \of F Y h:i:s A'),

                            $asunto, $empresa, $correo, $mensaje)

                );

                

                $mensaje = PlantillasCorreos::mensaje( $htmlMensaje , "afiliados@ccsm.org.co", "afiliados@ccsm.org.co");

                

                $envio = Correos::enviarContacto(

                    array("pruebas@ccsm.org.co", "probando"), "NOTIFICACION DE CONTACTO DESDE LA APP DE AFILIADOS",

                            $mensaje,

                            array("afiliados@ccsm.org.co", "Red Afiliados")

                );

            else:

                echo RespuestasSistema::error('METODO DE ACCESO INVALIDO', '405');

            endif;

        else:

            echo RespuestasSistema::error('DATOS INCOMPLETOS EN LA OPERACIÓN', '405');

        endif;

    }

    

    function buscarMatricula($request, $response, $args=array()) {

        $matricula = isset($args[0]) ? filter_var($args[0], FILTER_SANITIZE_STRING) : null;

        if(!empty($matricula)):

            Api::ejecutarGet($request, Feeder::busquedaRegistro(null ,$matricula, null));

        else:

            echo RespuestasSistema::error('DATOS INCOMPLETOS EN LA OPERACIÓN', '405');

        endif;

    }

    

    function mostrarTiposOrganizaciones($request, $response, $args=array()) {

        Api::ejecutarGet($request, TiposOrganizacion::todos() );

    }

    

    function mostrarAnuncio($request, $response, $args=array()) {

        Api::ejecutarGet($request, AfiliadosAnuncios::aleatorio() );

    }

    

}


