<?php



class PersonasControlador extends Controladores {
    
    public function registrarPersona(){
        $buscarPersona = Personas::buscarPersona($identificacion);
    }
    
    public function mostrarSelectTipoIdentificacion(){
        $tiposIdentificaciones = TiposIdentificacion::todos();
        Vistas::mostrar("personas", "personas/select-tipo-identificacion", array('tiposIdentificaciones'=>$tiposIdentificaciones));
    }
    
    public function viewCrearPersona(){
        $persona = Personas::buscarPersona('123');
       var_dump($persona);
        //if(){
            
        //}
    }
    
    public function editarInformacionGeneral(){
        $persona = Colaboradores::porCedula($this->personaIDENTIFICACION);
        if(is_null($persona)){
            echo RespuestasSistema::error('LA PERSONSA CON IDENTIFICACION: ' . $this->personaIDENTIFICACION .',  NO SE ENCUENTRA REGISTRADA EN EL SISTEMA');
        }else{
            if($persona->colaboradorID != Cliente::dato('colaboradorID')):
                echo RespuestasSistema::error('LA CEDULA DEL COLABORADOR NO CON CUERDA CON EL USUARIO');
            else:
                $this->datosGeneralesPersonas();
                echo RespuestasSistema::exito('LOS DATOS SE ACTULIZARON DE MANERA EXITOSA');
            endif;
        }
    }
    
    private function datosGeneralesPersonas(){
        $tipoIdentificacionID = empty($this->tipoIdentificacionID) ? null : $this->tipoIdentificacionID;
        $personaIDENTIFICACION = empty($this->personaIDENTIFICACION) ? null : $this->personaIDENTIFICACION;
        $personaNOMBRES = empty($this->personaNOMBRES) ? null : $this->personaNOMBRES;
        $personaAPELLIDOS = empty($this->personaAPELLIDOS) ? null : $this->personaAPELLIDOS;
        $personaFCHNACIMIENTO = empty($this->personaFCHNACIMIENTO) ? null : $this->personaFCHNACIMIENTO;
        $personaSEXO = empty($this->personaSEXO) ? null : $this->personaSEXO;
        $personaNOMBRECOMPLETO = $personaNOMBRES . " " . $personaAPELLIDOS;
        return GestionPersonas::datosGenerales('1', $tipoIdentificacionID, $personaIDENTIFICACION, $personaNOMBRECOMPLETO, $personaNOMBRES, $personaAPELLIDOS, $personaFCHNACIMIENTO, $personaSEXO);
    }
    
    public function mostrarFormularioInformacionGeneral(){
        $UsuariosColaboradores = UsuariosColaborador::datos(Cliente::dato('usuarioID'));
        Vistas::mostrar("personas","form/formulario-informacionGeneral",array('Usuario' => $UsuariosColaboradores));
    }
    
    public function mostrarFormularioInformacionAvanzada(){
        $personas = Personas::informacionAvanzada(Cliente::dato('personaID'));
        $personas->selectCamisas = $this->crearArray(Tallas::listaTallas('CAMISA'),'tallaID','tallaTITULO');
        $personas->selectPantalones = $this->crearArray(Tallas::listaTallas('PANTALON'),'tallaID','tallaTITULO');
        $personas->selectZapatos = $this->crearArray(Tallas::listaTallas('ZAPATOS'),'tallaID','tallaTITULO');
        $personas->selectMunicipios = $this->crearArray(Municipios::todosLosMunicipios(),'municipioID','municipioTITULO');
        Vistas::mostrar("personas","form/formulario-informacionAvanzada",array('persona' => $personas));
    }
    
    public function editarInformacionAvanzada(){
        $persona = Personas::buscarPersonaPorId(Cliente::dato('personaID'));
        if(is_null($persona)){
            echo RespuestasSistema::error('ESTA PERSONA NO SE ENCUENTRA REGISTRADA EN EL SISTEMA');
        }else{
            $datos = [
                $this->fechaNacimiento,
                $this->lugarNacimiento,
                $this->lugarExpedicion,
                $this->personaTipoSangre,
                $this->personaEstadoCivil,
                $this->personaId
            ];
            Personas::actualizarInformacionAvanzada($datos);
            Personas::actualizarTallasDePersonas($this->tallaZapatos,$this->personaId,'ZAPATOS');
            Personas::actualizarTallasDePersonas($this->tallaPantalon,$this->personaId,'PANTALON');
            Personas::actualizarTallasDePersonas($this->tallaCamisas,$this->personaId,'CAMISA');
            echo RespuestasSistema::exito('los datos se actualizaron de manera exitosa');
        }
    }
    
    public function mostrarFormularioInformacionContacto(){
        $UsuariosColaboradores = UsuariosColaborador::datos(Cliente::dato('usuarioID'));
        Vistas::mostrar("personas","form/formulario-informacionContacto",array('Usuario' => $UsuariosColaboradores));
    }
    
    public function editarInformacionContacto(){
        $persona = Colaboradores::porCedula(Cliente::dato('personaIDENTIFICACION'));
        $actualizar = $this->datosContactoPersonas($persona->personaIDENTIFICACION);
        if(!is_null($persona)):
            echo RespuestasSistema::exito('LOS DATOS SE ACTULIZARON DE MANERA EXITOSA');
        else:
            echo RespuestasSistema::error('SE PRESENTO UN INCONVENIENTE AL ACTUALIZAR LOS DATOS, INTENTE NUEVA MENTE');
        endif;
    }
    
    private function datosContactoPersonas($personaIDENTIFICACION){
        $telefonoNUMEROFIJO = empty($this->telefonoNUMEROFIJO) ? null : $this->telefonoNUMEROFIJO;
        $telefonoNUMEROCELULAR = empty($this->telefonoNUMEROCELULAR) ? null : $this->telefonoNUMEROCELULAR;
        $direccionNOMENCLATURA = empty($this->direccionNOMENCLATURA) ? null : $this->direccionNOMENCLATURA;
        $correoDIRECCION = empty($this->correoDIRECCION) ? null : $this->correoDIRECCION;
        $actualizacion = GestionPersonas::datosContacto($personaIDENTIFICACION, $telefonoNUMEROFIJO, $correoDIRECCION, null, $telefonoNUMEROCELULAR, $direccionNOMENCLATURA);
    }
    
    public function crearArray($datos,$valor,$titulo){
        $opciones = array();
        foreach($datos as $dato){
            array_push($opciones,
                array(
                    'valor' => $dato->$valor,
                    'mensaje' => $dato->$titulo
                )
            );
        }
        return $opciones;
    }
}
