<?php

/**

 * Description of Afiliados

 *

 * @author Desarrollo

 */

class AfiliadosBeneficiosControlador extends Controladores{

    

    function mostrarTodos() {

       Vistas::mostrar('afiliados', 'beneficios/listado');

    }

    

    function catalogo() {

        $beneficiosAfiliados = AfiliadosBeneficios::todos();

        Vistas::mostrar(

            'afiliados','beneficios/catalogo-beneficios',

            array('beneficiosAfiliados' => $beneficiosAfiliados)

        );

    }



    function tablaListado() {

        $beneficiosAfiliados = AfiliadosBeneficios::todos();

        Vistas::mostrar(

            'afiliados','beneficios/tbl-beneficios',

            array('beneficiosAfiliados' => $beneficiosAfiliados)

        );

    }



    function mostrarFormularioNuevo() {

        $this->mostrarFormulario();

    }

    function mostrarFormularioEditar() {

        $BeneficioAfiliado = AfiliadosBeneficios::datos($this->beneficioID);

        $this->mostrarFormulario($BeneficioAfiliado);

    }

    private function mostrarFormulario($BeneficioAfiliado = null) {

        Vistas::mostrar('afiliados','beneficios/form-beneficios', array('BeneficioAfiliado'=> $BeneficioAfiliado) );

    }

    

    function guardarDatosBeneficio() {

        $urlMin = $urlMax = null;

        $carpetaBeneficios = 'afiliados/beneficios/';

        

        if( !empty($this->beneficioMin) ){

            $nombreArchivoMin = uniqid('beneficio-min-').".".Archivos::extension($this->beneficioMin);

            $archivoMovido = Archivos::moverArchivoRecibido(

                $this->beneficioMin, DIR_ARCHIVOS.$carpetaBeneficios, $nombreArchivoMin 

            );

            $urlMin = URL_ARCHIVOS.$carpetaBeneficios.$nombreArchivoMin;

        }

        if( !empty($this->beneficioMax) ){

            $carpetaBeneficios = 'afiliados/beneficios/';

            $nombreArchivoMax = uniqid('beneficio-').".".Archivos::extension($this->beneficioMax);

            $archivoMovido = Archivos::moverArchivoRecibido(

                $this->beneficioMax, DIR_ARCHIVOS.$carpetaBeneficios, $nombreArchivoMax

            );

            $urlMax = URL_ARCHIVOS.$carpetaBeneficios.$nombreArchivoMax;

        }

        

        

        if( empty($this->beneficioID) ){

            $creado = AfiliadosBeneficios::guardar(

                $this->beneficioNOMBRE, 

                $this->beneficioDESCRIPCION, 

                $urlMin, $urlMax,

                $this->beneficioLINK, 

                $this->beneficioEstado

            );

            if($creado){

                echo Respuestassistema::exito( "", AfiliadosBeneficios::datos($creado) );

            }else{

                echo Respuestassistema::fallo("No se pudo guardar el nuevo beneficio");

            }

            

        }else{

            $Beneficio = AfiliadosBeneficios::datos($this->beneficioID);

            if(is_null($urlMin)) $urlMin = $Beneficio->beneficioIMGMIN;

            if(is_null($urlMax)) $urlMax = $Beneficio->beneficioIMGMAX;

            $actualizado = AfiliadosBeneficios::actualizar(

                $this->beneficioID,

                $this->beneficioNOMBRE, 

                $this->beneficioDESCRIPCION, 

                $urlMin, $urlMax,

                $this->beneficioLINK, 

                $this->beneficioEstado

            );

            if($actualizado){

                echo Respuestassistema::exito("", AfiliadosBeneficios::datos($this->beneficioID));

            }else{

                echo Respuestassistema::fallo("No se actualizó el beneficio. Verifique los datos, o contacte al Centro TICS.");

            }

        }

    }

    

    function eliminar() {

        $beneficiosAfiliados = $this->check_afiliados_beneficios;

        if (count($beneficiosAfiliados)) {

            $cont = 0;

            foreach ($beneficiosAfiliados as $beneficioAfiliado):

                $nCambio = AfiliadosBeneficios::eliminar($beneficioAfiliado);

                if ($nCambio > 0) {

                    $cont++;

                }

            endforeach;

            if (count($beneficiosAfiliados)) {

                echo RespuestasSistema::exito('Eliminación exitosa!');

            } else {

                echo RespuestasSistema::error('Hubo un error al eliminar uno de los registros!');

            }

        } else {

            echo RespuestasSistema::error('No llegarón los datos para eliminar.');

        }

    }

    function reactivar() {

        $beneficiosAfiliados = $this->check_afiliados_beneficios;

        if (count($beneficiosAfiliados)) {

            $cont = 0;

            foreach ($beneficiosAfiliados as $beneficioAfiliado):

                $nCambio = AfiliadosBeneficios::reactivar($beneficioAfiliado);

                if ($nCambio > 0) {

                    $cont++;

                }

            endforeach;

            if (count($beneficiosAfiliados)) {

                echo RespuestasSistema::exito('Re-activación exitosa!');

            } else {

                echo RespuestasSistema::error('Hubo un error al re-activar uno de los registros!');

            }

        } else {

            echo RespuestasSistema::error('No llegarón los datos para re-activar.');

        }

    }

    function desactivar() {

        $beneficiosAfiliados = $this->check_afiliados_beneficios;

        if (count($beneficiosAfiliados)) {

            $cont = 0;

            foreach ($beneficiosAfiliados as $beneficioAfiliado):

                $nCambio = AfiliadosBeneficios::desactivar($beneficioAfiliado);

                if ($nCambio > 0) {

                    $cont++;

                }

            endforeach;

            if (count($beneficiosAfiliados)) {

                echo RespuestasSistema::exito('Desactivación exitosa!');

            } else {

                echo RespuestasSistema::error('Hubo un error al desactivar uno de los registros!');

            }

        } else {

            echo RespuestasSistema::error('No llegarón los datos para desactivar.');

        }

    }

    

    function verDetalles(){

        $BeneficioAfiliado = AfiliadosBeneficios::datos($this->beneficioID);

        Vistas::mostrar('afiliados', 'beneficios/ver-beneficio', array('BeneficioAfiliado'=> $BeneficioAfiliado));

    }

}


